python两个列表求不相交
时间: 2023-08-01 15:15:30 浏览: 89
可以使用set的差集来求两个列表的不相交部分。具体代码如下:
```python
list1 = [1, 2, 3, 4, 5]
list2 = [4, 5, 6, 7, 8]
set1 = set(list1)
set2 = set(list2)
disjoint = list(set1 - set2) + list(set2 - set1)
print(disjoint) # [1, 2, 3, 6, 7, 8]
```
以上代码中,先把两个列表转换成set,然后通过set的差集操作得到不相交的部分。最后再把两个差集合并成一个列表。
相关问题
python求2个列表的不相交部分
可以使用set的差集操作来求两个列表的不相交部分。代码如下:
```python
list1 = [1, 2, 3, 4, 5]
list2 = [4, 5, 6, 7, 8]
set1 = set(list1)
set2 = set(list2)
result = list(set1 - set2) + list(set2 - set1)
print(result) # 输出 [1, 2, 3, 6, 7, 8]
```
这里首先将两个列表转换成set类型,然后使用差集操作,得到两个集合的不相交部分,最后再将结果转换成列表类型输出。
python取两个矩形不相交的区域
假设你有两个矩形,分别是 `rect1` 和 `rect2`,你可以使用下面这段代码来获取它们不相交的区域:
```python
def non_intersecting_region(rect1, rect2):
left = max(rect1[0], rect2[0])
top = max(rect1[1], rect2[1])
right = min(rect1[0] + rect1[2], rect2[0] + rect2[2])
bottom = min(rect1[1] + rect1[3], rect2[1] + rect2[3])
if left < right and top < bottom:
return (left, top, right - left, bottom - top)
else:
return None
```
这个函数首先计算出两个矩形的左、上、右、下四个边界,然后判断它们是否相交。如果相交,就返回一个表示不相交区域的矩形,否则返回 `None`。
阅读全文