如何检查列表中是否存在相同顺序的列表

时间:2014-12-30 21:51:22

标签: python list dictionary

说我有一个列表字典,

C = {}
li = []
li.append(x)
C[ind] = li

我想检查另一个列表是否是此词典的成员。

for s in C.values():
    s.append(w)

Python检查它是否出现s和字典值中的任何值。但我想检查字典中的任何列表是否与给定列表相同。

我该怎么做?

2 个答案:

答案 0 :(得分:2)

使用any获取列表列表:

d = {1 : [1,2,3], 2: [2,1]}
lsts = [[1,2],[2,1]]
print(any(x in d.values() for x in lsts))
True

d = {1:[1,2,3],2:[1,2]}
lsts = [[3,2,1],[2,1]]
print(any(x in d.values() for x in lsts))
False

in单个列表:

lst = [1,2]
lst in d.itervalues()

Python将比较两个列表中的每个元素,因此它们必须具有相同的顺序,即使它们在顺序中具有相同的元素也必须相同,因此简单的比较将执行您想要的操作。 / p>

答案 1 :(得分:0)

in完美地完成了这个技巧,因为它与幕后的每个元素进行了比较,所以它甚至适用于可变元素:

lst in d.values()