我有一个这样的数组列表:
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的新手,任何线索都非常感谢。
尝试这个...
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]]
告诉我是否适合你...
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句