我有两个列表:如何检查2D列表中的子列表是否在列表中?
my_list = [1,2,3,4,5]
my_new_list = [[1,3,7,5],[1,2,3,4,5]]
我如何检查一个子表等于my_list
?
我有两个列表:如何检查2D列表中的子列表是否在列表中?
my_list = [1,2,3,4,5]
my_new_list = [[1,3,7,5],[1,2,3,4,5]]
我如何检查一个子表等于my_list
?
如果你想检查是否my_list
在my_new_list
只需使用in
:
>>> my_list in my_new_list
True
如果你想知道匹配列表的索引可以使用index
:
>>> my_new_list.index(my_list)
1
如果您认为这些效率太高,太简单或太短,您也可以手动完成:
>>> any(sublist == my_list for sublist in my_new_list) # equivalent to "in"
True
>>> next(idx for idx, sublist in enumerate(my_new_list) if sublist == my_list) # like "index".
1
感谢您的回复。是否有可能检查my_list中的数字是否也出现在my_new_list中,即使它们不正确? –
是的,这是可能的,但应该超出这个问题的范围。也许问一个新问题? – MSeifert
可以指数内置功能
>>> my_new_list.index(my_list)
1
或者你可以使用:
>>> my_list in my_new_list
True
您还可以使用神奇的功能包含
>>> my_new_list.__contains__(my_list)
True
'如果my_list在my_new_list' – ZdaR
这就像检查数字是否在整数列表中一样。 – Arman