我一直在尝试创建一个函数,该函数可以采用任意大小的两个列表(例如,列表 A 和列表 B),并查看列表 B 是否出现在列表 A 中,但是否以相同的顺序连续出现。如果以上为真,则返回 True,否则返回 False
例如
A:[9,0,**1,2,3,4,5,6,**7,8] and B:[1,2,3,4,5,6] is successful
A:[1,2,0,3,4,0,5,6,0] and B:[1,2,3,4,5,6] is unsuccessful.
A:[1,2,3,4,5,6] and B [6,5,3,2,1,4] fails because despite having the same
numbers, they aren't in the same order
到目前为止,我已经尝试使用嵌套循环来执行此操作,但对去哪里感到有些困惑
试试这个:
L1 = [9,0,1,2,3,4,5,6,7,8]
L2 = [1,2,3,4,5,6]
c = 0
w = 0
for a in range(len(L2)):
for b in range(w+1, len(L1)):
if L2[a] == L1[b]:
c = c+1
w = b
break
else:
c = 0
if c == len(L2):
print('yes')
break
在这里,您检查 l2 的元素是否在 l1 中,如果是,则中断第一个循环,记住您离开的位置,l2 的下一个元素与 l1 的下一个元素相同,依此类推。
最后一部分是检查这是否与 l2 的长度一样多。如果是这样,那么您就知道该陈述是正确的!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句