python如何取差集
时间: 2023-10-13 20:56:37 浏览: 97
在Python中,可以使用集合(Set)来获取两个列表的差集。可以通过以下几种方法来实现:
方法一:使用集合的差集操作符"-"
```python
a = \[3, 5, 9, 10, 20, 40\]
b = \[3, 5, 9, 1, 7, 29, 81\]
diff = list(set(b) - set(a))
print(diff)
```
这种方法使用了集合的差集操作符"-",将列表b转换为集合,然后与列表a转换为的集合进行差集操作,最后将结果转换为列表。
方法二:使用列表推导式
```python
a = \[3, 5, 9, 10, 20, 40\]
b = \[3, 5, 9, 1, 7, 29, 81\]
diff = \[val for val in b if val not in a\]
print(diff)
```
这种方法使用了列表推导式,遍历列表b中的元素,判断元素是否存在于列表a中,如果不存在则添加到结果列表中。
这两种方法都可以获取到列表b中存在但列表a中不存在的元素,但是使用集合的差集操作符"-"(方法一)的效率更高。\[1\]\[2\]\[3\]
#### 引用[.reference_title]
- *1* [Python快速找出两个列表中的差集、并集、交集](https://blog.csdn.net/Leexin_love_Ling/article/details/121356884)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* *3* [【python】python获取两个list交集|并集|差集](https://blog.csdn.net/weixin_45983575/article/details/127652268)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文