求两个list对象中的相同元素与不同元素 如:list1 = [2, 4, 6] list2 = [2, 5, 8] 则: 相同的元素是 [2] 不同的元素是 [4,6,5,8] def getIntersectionAndsymmetric_difference(lst1,lst2): #请在两行注释之间的位置完成函数定义 ############################################### set1 = set(lst1) set2 = set(lst2) intersection = list(set1 & set2) symmetric_difference = list(set1 ^ set2) return intersection, symmetric_difference ############################################### lst1=input("") lst1=map(int,lst1.split(",")) lst2=input("") lst2=map(int,lst2.split(",")) intersection, symmetric_difference = getIntersectionAndsymmetric_difference(lst1,lst2) print("相同的元素是", intersection, sep = '') print("不同的元素是", symmetric_difference, sep ='')
时间: 2023-12-21 13:05:06 浏览: 62
Python 比较两个数组的元素的异同方法
这里有一些注意事项:
1. 在函数的定义中,需要将输入的lst1和lst2转换成列表类型,而不是map类型。
2. 将lst1和lst2转换成集合类型,可以利用set()函数。
3. 交集和对称差分别可以用&和^操作符求解。
以下是修改后的代码:
```python
def getIntersectionAndsymmetric_difference(lst1, lst2):
lst1 = list(lst1)
lst2 = list(lst2)
set1 = set(lst1)
set2 = set(lst2)
intersection = list(set1 & set2)
symmetric_difference = list(set1 ^ set2)
return intersection, symmetric_difference
lst1 = input("请输入第一个列表,元素用逗号隔开:")
lst1 = lst1.split(",")
lst1 = list(map(int, lst1))
lst2 = input("请输入第二个列表,元素用逗号隔开:")
lst2 = lst2.split(",")
lst2 = list(map(int, lst2))
intersection, symmetric_difference = getIntersectionAndsymmetric_difference(lst1, lst2)
print("相同的元素是", intersection, sep='')
print("不同的元素是", symmetric_difference, sep='')
```
示例输出:
```
请输入第一个列表,元素用逗号隔开:2,4,6
请输入第二个列表,元素用逗号隔开:2,5,8
相同的元素是[2]
不同的元素是[4, 5, 6, 8]
```
阅读全文