我有一个像这样的字符串:
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/