我有一个像这样的字符串:
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)
是否还有另一种方法(最简单,最优雅,最有效的方法)来进行这种比较?
这是最有效的方法,因为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)
| 归档时间: |
|
| 查看次数: |
98 次 |
| 最近记录: |