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

my_string = "apple,orange,kiwi,mange"


我将其拆分为以下列表:

my_list_string = my_string.split(',')


我还有第二个清单:

my_list = ["kiwi", "apple", "mange", "orange"]


在我比较这两个列表时,如果my_list中的所有元素都在字符串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


还有另一种方法(最简单,最优雅,最高效)进行比较吗?

最佳答案

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

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

关于python - python中两个列表的比较,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16295770/

10-12 22:46