Som*_*DOS 10 python comparison list
a = [1, 2, 3, 4]
b = [2, 4, 3, 1]
c = [2, 3]
Run Code Online (Sandbox Code Playgroud)
比较a到b时,应返回True
:所有项目a
都显示在中b
,所有项目b
都显示在中a
.
比较a
时c
,应该返回False
:有些项目a
不存在c
.
什么是pythonic方式呢?
使用集合或frozensets.
set_a = {1, 2, 3, 4} #python 2.7 or higher set literal, use the set(iter) syntax for older versions
set_b = {2, 4, 4, 1}
set_a == set_b
set_a - set_b == set_b - set_a
Run Code Online (Sandbox Code Playgroud)
使用集合优于任何列表方法的最大优点是它具有高可读性,您没有改变原始可迭代,即使在a很大且b很小的情况下它也可以很好地执行(检查a和b是否具有相同的长度)首先是一个很好的优化,如果你经常期望这种情况,并且使用正确的数据结构是pythonic.