|
在Python中,统计两个列表的差异值有多种方法,其中包括使用集合操作、列表推导式等。下面我将通过实例详细讲解几种常见的方法,并提供相应的实例源代码。
方法一:使用集合操作
- list1 = [1, 2, 3, 4, 5]
- list2 = [3, 4, 5, 6, 7]
- # 找到在list1中而不在list2中的元素
- difference1 = list(set(list1) - set(list2))
- # 找到在list2中而不在list1中的元素
- difference2 = list(set(list2) - set(list1))
- # 输出差异值
- print("List1 中不在 List2 中的元素:", difference1) # 输出 [1, 2]
- print("List2 中不在 List1 中的元素:", difference2) # 输出 [6, 7]
复制代码 方法二:使用列表推导式
- list1 = [1, 2, 3, 4, 5]
- list2 = [3, 4, 5, 6, 7]
- # 保持顺序找到在list1中而不在list2中的元素
- difference1 = [x for x in list1 if x not in list2]
- # 保持顺序找到在list2中而不在list1中的元素
- difference2 = [x for x in list2 if x not in list1]
- # 输出差异值
- print("List1 中不在 List2 中的元素:", difference1) # 输出 [1, 2]
- print("List2 中不在 List1 中的元素:", difference2) # 输出 [6, 7]
复制代码 方法三:使用set()和对称差集
- list1 = [1, 2, 3, 4, 5]
- list2 = [3, 4, 5, 6, 7]
- # 找到两个列表中不同的元素(对称差集)
- symmetric_difference = list(set(list1) ^ set(list2))
- # 输出差异值
- print("两个列表中不同的元素:", symmetric_difference) # 输出 [1, 2, 6, 7]
复制代码 这些方法各有优缺点,选择使用哪一种取决于你的具体需求和性能考虑。方法一和方法三使用了集合操作,可能在处理大型数据时更高效。方法二保持了原始列表的顺序,但在大型数据集上可能效率较低。
来源:https://www.cnblogs.com/hanbing81868164/p/17965994
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|