Skip to main content
 首页 » 编程设计

python之python中两个列表的比较

2025年05月04日19mq0036

我有这样一个字符串:

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