python两个list取差集
时间: 2023-06-14 20:02:52 浏览: 112
如果你想要的结果是第一个列表中有但是第二个列表中没有的元素,可以使用以下代码:
```python
list1 = [1, 2, 3, 4, 5]
list2 = [3, 4, 5, 6, 7]
result = list(set(list1) - set(list2))
print(result) # [1, 2]
```
这里用了 set() 函数将列表转换成集合,然后使用 - 运算符取差集,最后再将结果转换成列表。
如果你想要的结果是两个列表中不同的元素,可以使用以下代码:
```python
list1 = [1, 2, 3, 4, 5]
list2 = [3, 4, 5, 6, 7]
result = list(set(list1) ^ set(list2))
print(result) # [1, 2, 6, 7]
```
这里用了 ^ 运算符取对称差集,最后再将结果转换成列表。
相关问题
python两个列表取差集for
在Python中,两个列表取差集通常指的是找出在第一个列表中但不在第二个列表中的元素。这可以通过列表推导式(List Comprehension)来实现,也可以使用集合(set)的相关操作来完成。
使用列表推导式的方法如下:
假设我们有两个列表 `list1` 和 `list2`,我们可以使用列表推导式来获取 `list1` 中存在但 `list2` 中不存在的元素组成的列表。
```python
list1 = [1, 2, 3, 4, 5]
list2 = [3, 4, 5, 6, 7]
# 使用列表推导式获取差集
difference = [item for item in list1 if item not in list2]
print(difference) # 输出: [1, 2]
```
使用集合操作的方法如下:
将两个列表转换为集合,然后使用集合的差集操作符 `difference()` 或者 `-` 来获取差集。
```python
list1 = [1, 2, 3, 4, 5]
list2 = [3, 4, 5, 6, 7]
# 将列表转换为集合
set1 = set(list1)
set2 = set(list2)
# 使用集合的差集操作获取差集
difference = list(set1 - set2)
print(difference) # 输出可能是 [1, 2],但顺序可能不同
# 或者使用difference()方法
difference = list(set1.difference(set2))
print(difference) # 输出: [1, 2]
```
注意,集合是无序的,所以使用集合得到的差集可能不会保持原列表的顺序。如果需要保持顺序,可以使用列表推导式。
python两个list如何取差集
可以使用 Python 中的 set() 函数将两个 list 转换为 set,然后使用差集运算符 "-"。示例代码如下:
```python
list1 = [1, 2, 3, 4, 5]
list2 = [3, 4, 5, 6, 7]
diff = set(list1) - set(list2)
print(list(diff))
```
输出结果为:
```
[1, 2]
```
这样就得到了 list1 中不在 list2 中的元素。
阅读全文