def cyclic(lst1,lst2):
a=lst1
b=lst2
if a == b:
return True
if a != b:
return False
嗨,我正在用Python编写一个函数,它检查2个列表(lst1,lst2)是否具有相同的循环次序。 [如果是 - 该函数返回True,如果不是 - 它返回False]。 我已经设法检查天气列表是否相同。 但我需要检查循环次序。例如:[0,1,2,3] 并且[3,0,1,2]应该返回True,而[0,1,2,3]和[3,1,0,2]应该返回false。
非常感谢!
答案 0 :(得分:0)
def cyclic(l1, l2):
if len(l1) != len(l2):
return False
if not l1:
return True
a = l1[0]
for i, x in enumerate(l2):
if a == x:
if l1 == l2[i:] + l2[:i]:
return True
return False
在这里,我们浏览l2
的元素,寻找与l1[0]
匹配的元素。当我们找到一个时,我们旋转列表,使元素位于前面,然后比较两个列表。