比较python中的两个列表

Drw*_*ite 1 python list

我有一个像这样的字符串:

my_string = "apple,orange,kiwi,mange"
Run Code Online (Sandbox Code Playgroud)

我拆分成这个清单:

my_list_string = my_string.split(',')
Run Code Online (Sandbox Code Playgroud)

我有第二个清单:

my_list = ["kiwi", "apple", "mange", "orange"]
Run Code Online (Sandbox Code Playgroud)

在我对这两个列表的比较中,如果所有元素my_list都在String中my_string,我想返回true ,所以我这样做:

my_list_string = my_string.split(',')
my_list = ["kiwi", "apple", "mange", "orange"]
if len(my_list_string) == len (set(my_list) & set(my_list_string)):
    return True
else:
    return False
Run Code Online (Sandbox Code Playgroud)

是否还有另一种方法(最简单,最优雅,最有效的方法)来进行这种比较?

jam*_*lak 5

这是最有效的方法,因为sets具有O(1)摊销查找

>>> my_string = "apple,orange,kiwi,mange"
>>> my_list = ["kiwi", "apple", "mange", "orange"]
>>> set(my_list).issubset(my_string.split(','))
True
Run Code Online (Sandbox Code Playgroud)