搜索列表完全匹配

DGT*_*DGT 0 python

如何搜索所有元素与我正在寻找的元素完全匹配的列表.例如,我想验证以下列表是否包含'a','b'和'c',以及更多或更少.

lst=['a', 'b', 'c']
Run Code Online (Sandbox Code Playgroud)

我这样做了:

if 'a' in lst and 'b' in lst and 'c' in lst:
   #do something
Run Code Online (Sandbox Code Playgroud)

提前谢谢了.

Joc*_*zel 6

您可以对列表进行排序,然后简单地比较它们:sorted( list_one ) == sorted( list_two ).

您还可以将两个列表转换为集合并进行比较.但要小心,套餐吃重复的物品!set( list_one ) == set( list_two ).

集合也可以告诉你哪些项目缺乏:set(list_one) ^ set(list_two).

一些例子:

>>> sorted("asd") == sorted("dsa")
True
>>> sorted( "asd" ) == sorted( "dsa" )
True
>>> sorted( "asd" ) == sorted( "dsaf" )
False
>>> set( "asd" ) == set( "dasf" )
False
>>> set( "asd" ) == set( "daas" )
True
>>> set( "asd" ) ^ set( "daf" )
set(['s', 'f'])
Run Code Online (Sandbox Code Playgroud)