我有一些数字的列表:
l1 = [1,2,3,4,5,6,7]
还有一个:
l2 = [3,5,6]
我想获取包含存在于 l2 中但不存在于 l1 中的数字的间隔列表:
intervals = [[1,2],[4],[7]]
我尝试这样做:
current_common_line_no = 0
for line in l1:
if line in l2:
current_common_line_no = line
else:
next_common_line_no = l2[(l2.index(current_common_line_no))+1]
print next_common_line_no
获取区间边缘列表,但下一步是什么?
最佳答案
您可以将groupby()
与列表理解结合使用:
from itertools import groupby
[list(g) for k, g in groupby(l1, key=lambda x: x not in l2) if k]
# [[1, 2], [4], [7]]
关于python - 如何制作列表之间具有差异的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40294106/