请问有没有Pythonic小技巧,避免重复写列表交集、并集和差集代码?
- 内容介绍
- 相关推荐
本文共计567个文字,预计阅读时间需要3分钟。
在Python中,求两个列表的交集、并集和差集是常见需求,实现起来相对简单。最直接的方法是使用循环,对两个列表分别遍历,然后判断元素是否存在于另一个列表中,从而求得结果。下面是具体的实现方式:
pythondef intersection(lst1, lst2): return [value for value in lst1 if value in lst2]
def union(lst1, lst2): return [value for value in lst1 if value not in lst2] + [value for value in lst2 if value not in lst1]
def difference(lst1, lst2): return [value for value in lst1 if value not in lst2]
在 Python 中,求两个列表的交集,并集和差集是经常会遇到的需求,而且也比较简单。
最容易想到的就是写循环,对两个列表分别进行循环,然后判断元素是否在另一个列表中,求得最终结果。
但这种方法比较 low,没啥技术含量。身为一名 Python 程序员,一定要写够 pythonic 的代码。
废话不多说,直接看代码。
本文共计567个文字,预计阅读时间需要3分钟。
在Python中,求两个列表的交集、并集和差集是常见需求,实现起来相对简单。最直接的方法是使用循环,对两个列表分别遍历,然后判断元素是否存在于另一个列表中,从而求得结果。下面是具体的实现方式:
pythondef intersection(lst1, lst2): return [value for value in lst1 if value in lst2]
def union(lst1, lst2): return [value for value in lst1 if value not in lst2] + [value for value in lst2 if value not in lst1]
def difference(lst1, lst2): return [value for value in lst1 if value not in lst2]
在 Python 中,求两个列表的交集,并集和差集是经常会遇到的需求,而且也比较简单。
最容易想到的就是写循环,对两个列表分别进行循环,然后判断元素是否在另一个列表中,求得最终结果。
但这种方法比较 low,没啥技术含量。身为一名 Python 程序员,一定要写够 pythonic 的代码。
废话不多说,直接看代码。

