目的:判断两个序列的成员是否一样,如:list1 = [1, 2],list2 = [2, 1],则两个序列的成员是一样的。
实现:借助集合set()的性质实现。
代码如下:
if __name__ == "__main__": l = [[2, 1], [3, 4]] for i in l: print (i) tmp = set(i) print (tmp) if tmp == {1, 2}: print ("yes") else: print ('no')
输出结果:
[2, 1]
{1, 2}
yes
[3, 4]
{3, 4}
no
知识点扩展:
python 怎样判断一个序列是否在另一个序列中
你的需求描述的不是太清晰,如果你时想判断 list1 = [2, 3, 3, 4],是否为 list2 = [1, 2, 3, 3, 4, 5] 的子序列,首先保证两个列表元素类型相同,然后写循环:
list1 = [2, 3, 3, 4] list2 = [1, 2, 3, 3, 4, 5] flag = False for i in range(len(list2) - len(list1) + 1): if list2[i: i+len(list1)] == list1: flag = True break print(flag)