【问题标题】:create sub-list of order integers present in a list and store them in another nested list in python创建列表中存在的顺序整数的子列表并将它们存储在python中的另一个嵌套列表中
【发布时间】:2021-11-15 22:29:43
【问题描述】:

我有一个这样的数组列表:

list = [1,2,3,4,9,1,12,9,8,7,8,9,10,12,16,1,2,3,4,5,6,7,8,9,10]

我想从有序数字列表中创建一个子列表(它们已经在 arr_list 中按顺序排列,例如 1、2、3、4 已经按顺序排列,类似 7、8、9、10 和最后一个 10数字)

最终输出将如下所示:

[[1,2,3,4],[7,8,9,10],[1,2,3,4,5,6,7,8,9,10]]

尝试比较第一个 for 循环的第 i 个元素是否小于第二个 for 循环的第 j 个元素。

这是我尝试过的:

sub_list=[]
for i in range(0,length_of_list):
    for j in range(i+1,length_of_list):
        if (arr_list[i] < arr_list[j]):
            sub_list.append(arr_list[i]) 
        else:
            pass

python 新手,非常感谢任何线索。

【问题讨论】:

  • 你试过什么?
  • stackoverflow.com/users/16693888/ghost-ops 到目前为止我这样做了,但这仅适用于我可以获得的序列值,例如 1,2,3,4 但它也不起作用,并且在 1 小于 12 时失败比较 i

标签: python arrays python-3.x


【解决方案1】:

试试这个...

res, temp = [], []
lst = [1,2,3,4,9,1,12,9,8,7,8,9,10,12,16,1,2,3,4,5,6,7,8,9,10]
for i in lst:
    if (not temp) or (temp[-1] == i-1):
        temp.append(i)
    else:
        res.append(temp)
        temp = [i]
res.append(temp)
print([i for i in res if len(i)>1])

输出:

[[1, 2, 3, 4], [7, 8, 9, 10], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]]

告诉我是否适合你...

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-30
  • 1970-01-01
  • 1970-01-01
  • 2021-11-02
  • 1970-01-01
相关资源
最近更新 更多