如何测试列表是否包含Python中具有特定项的另一个列表?

Tom*_*tny 4 python sorting list

我有一个列表列表,并想检查它是否已包含具有特定项目的列表.

从这个例子中应该清楚一切:

list = [[1,2],[3,4],[4,5],[6,7]]
for test in [[1,1],[1,2],[2,1]]:
  if test in list:
    print True
  else:
    print False

#Expected:
#        False
#        True
#        True

#Reality:
#        False
#        True
#        False
Run Code Online (Sandbox Code Playgroud)

是否有一个函数可以比较列表中的项目,无论它们如何排序?

use*_*ser 6

你想要使用的是一个集合: set([1,2]) == set([2,1]) 返回True.

所以

list = [set([1,2]),set([3,4]),set([4,5]),set([6,7])]
set([2,1]) in list
Run Code Online (Sandbox Code Playgroud)

也返回True.


Tri*_*ych 5

如果它们确实设置了,请使用set类型

# This returns True 
set([2,1]) <= set([1,2,3])
Run Code Online (Sandbox Code Playgroud)

<=意味着'在处理集合时是'的一个子集.有关更多信息,请参阅集类型操作.