我需要查找;匹配点";其中list";a";大于列表";b";。到目前为止,我已经找到了这个早期的帖子:检查一个列表是否是另一个列表的一部分,同时保留列表序列
这帮助很大。但我现在需要,只要清单合适。
a = [3, 4, 1, 2, 4, 1, 5]
b = [4, 1, 2]
"b";"适合";a";但是我希望CCD_ 2作为第一匹配点而不是CCD_
您可以使用next获取第一个匹配点:
a = [3, 4, 1, 2, 4, 1, 5]
b = [4, 1, 2]
starting_point = next((a[i] for i in range(len(a)) if b == a[i:i + len(b)]), -1)
print(starting_point)
输出
4
更新
如果您需要索引和索引处的值,请返回索引而不是值,例如:
position = next((i for i in range(len(a)) if b == a[i:i + len(b)]), -1)
print("position", position)
print("starting point", a[position])
输出
position 1
starting point 4
注意变化,现在是i
而不是a[i]