python bar 两两对比 python怎么快速比对两表数据 您所在的位置:网站首页 怎么比对两个表格数据不同 python bar 两两对比 python怎么快速比对两表数据

python bar 两两对比 python怎么快速比对两表数据

#python bar 两两对比 python怎么快速比对两表数据| 来源: 网络整理| 查看: 265

python中如何比较两个列表不同,方法,内容,比对,长度为,效率

python中如何比较两个列表不同

易采站长站,站长之家为您整理了python中如何比较两个列表不同的相关内容。

python bar 两两对比 python怎么快速比对两表数据_python bar 两两对比

通过不断的测试发现,python实现高效快速比对两个列表的不同,可借助python集合set()提供的集合运算进行操作,此方式效率非常高.

而在java语言中,如下方法中方法1相比方法2(集合运算)的方式效率更高速度更快一些.这算是两种语言相通之处的一点不同吧.

代码如下:#-*- coding:utf-8 -*-import time#方法1:def getDiff1(arr1,arr2): start_time = time.time() print('1_start:',start_time) arr_more1 = [] arr_more2 = [] dic_result = {} for str_1 in arr1: dic_result[str(str_1)] = 1 for str_2 in arr2: if dic_result.get(str(str_2)): dic_result[str(str_2)] = 2 else: arr_more2.append(str_2) for key,val in dic_result.items(): if val == 1: arr_more1.append(key) print('arr1比arr2多的内容为:',len(arr_more1)) print('arr2比arr1多的内容为:',len(arr_more2)) end_time = time.time() print('1_end:',end_time) print('方法1_比对用时为',end_time-start_time)#方法2:使用集合运算:def getDiff2(arr1,arr2): start_time = time.time() print('2_start:',start_time) set_1 = () set_2 = () #将列表转换为集合set() set_1 = set(arr1) set_2 = set(arr2) set_more1 = () set_more2 = () #集合运算 set_1_2 = set_1 & set_2 set_more1 = set_1 -set_1_2 set_more2 = set_2 -set_1_2 print('arr1比arr2多的内容为:',len(set_more1)) print('arr2比arr1多的内容为:',len(set_more2)) end_time = time.time() print('2_end:',end_time) print('方法2_比对用时为',end_time-start_time)#测试# 初始化500w条数据数据arr1 = []arr2 = []i = 0while(True): arr1.append(i * 2) arr2.append(i * 3) i += 1 if i > 5000000: breakprint('arr1的长度为:',len(arr1))print('arr2的长度为:',len(arr2))print('+'*30)getDiff1(arr1,arr2)print('-'*30)getDiff2(arr1,arr2)

运行结果:

python bar 两两对比 python怎么快速比对两表数据_集合运算_02

更多Python相关技术文章,请访问Python教程栏目进行学习!以上就是关于对python中如何比较两个列表不同的详细介绍。欢迎大家对python中如何比较两个列表不同内容提出宝贵意见



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有