菜单

Python中实现两个字典,Python合并两个字典的常用方法与效率比较

2020年1月6日 - 新闻中心

Python合併四个字典的常用方法与功用比较,python归拢

正文实例叙述了Python归拢五个词典的常用方法与作用比较。分享给大家供大家仿照效法。具体深入分析如下:

上边包车型地铁代码比方了5种合併多少个字典的不二秘技,并且做了个简易的性质测验

#!/usr/bin/python 
import time 
def f1(d1, d2): 
  return dict(d1, **d2) 
def f2(d1, d2): 
  return dict(d1.items() + d2.items()) 
def f3(d1, d2): 
  d = d1.copy() 
  d.update(d2) 
  return d 
def f4(d1, d2): 
  d1.update(d2) 
  return d1 
def f5(d1, d2): 
  d = dict(d1) 
  d.update(d2) 
  return d 
def f6(d1, d2): 
  return (lambda a, b: (lambda a_copy: a_copy.update(b) or a_copy)(a.copy()))(d1, d2) 
def f7(d1, d2): 
  d = {} 
  d.update(d1) 
  d.update(d2) 
  return d 
def t(f, n): 
  st = time.time() 
  for i in range(1000000): 
    dic1 = {'a':'AA','b':'BB','c':'CC'} 
    dic2 = {'A':'aa','B':'bb','C':'cc'} 
    f(dic1, dic2) 
  et = time.time() 
  print '%s cost:%s'%(n, et-st) 
t(f1, 'f1') 
t(f2, 'f2') 
t(f3, 'f3') 
t(f4, 'f4') 
t(f5, 'f5') 
t(f6, 'f6') 
t(f7, 'f7') 

除开f4方法会对词典d1引致破坏性校勘之外,此外的二种办法都以把归总的结果作为新的词典再次来到。

上边是测验结果:

f1 cost:2.382999897 
f2 cost:4.45399999619 
f3 cost:3.02100014687 
f4 cost:1.73000001907 
f5 cost:2.3710000515 
f6 cost:2.89700007439 
f7 cost:2.35600018501 

能够看来f4最为便捷,借使没有供给保留原词典的话推荐应用f4方法。

瞩望本文所述对我们的Python程序设计有着扶持。

本文实例陈说了Python合并多个词典的常用方法与功能相比。分享给大家供大家参照他事他说加以调查。具…

Python中贯彻四个词典(dict)归拢的章程,pythondict

正文实例叙述了Python中贯彻七个辞书(dict)归总的方法,分享给大家供我们参谋。具体方法如下:

现存七个词典dict如下:

dict1={1:[1,11,111],2:[2,22,222]}
dict2={3:[3,33,333],4:[4,44,444]}

统风度翩翩几个字典得到相近:

{1:[1,11,111],2:[2,22,222],3:[3,33,333],4:[4,44,444]}

方法1:

dictMerged1=dict(dict1.items()+dict2.items())

方法2:

dictMerged2=dict(dict1, **dict2)

方法2等同于:

dictMerged=dict1.copy()
dictMerged.update(dict2)

或者:

dictMerged=dict(dict1)
dictMerged.update(dict2)

方法2比办法1进度快非常多,用timeit测量试验如下

$ python -m timeit -s 'dict1=dict2=dict((i,i) for i in range(100))' 'dictMerged1=dict(dict1.items()+dict2.items())'
  10000 loops, best of 3: 20.7 usec per loop
$ python -m timeit -s 'dict1=dict2=dict((i,i) for i in range(100))' 'dictMerged2=dict(dict1,**dict2)'
  100000 loops, best of 3: 6.94 usec per loop
$ python -m timeit -s 'dict1=dict2=dict((i,i) for i in range(100))' 'dictMerged3=dict(dict1)' 'dictMerged3.update(dict2)'
  100000 loops, best of 3: 7.09 usec per loop
$ python -m timeit -s 'dict1=dict2=dict((i,i) for i in range(100))' 'dictMerged4=dict1.copy()' 'dictMerged4.update(dict2)'
  100000 loops, best of 3: 6.73 usec per loop

可望本文所述对大家的Python程序设计有着援救。

python合併那三个词典

dict1={‘1’: (‘a’, ‘b’, ‘c’, ‘d’), ‘2’: (‘f’, ‘w’, ‘m’), ‘3’:( ‘p’, ‘l’,
‘w’)}
dict2={‘1’: (‘b’, ‘w’, ‘q’), ‘2’:( ‘i’, ‘z’, ‘m’), ‘3’:( ‘p’, ‘w’,
‘o’)}

dict={}
for key in dict1.keys():
dict[key]=list(dict1[key])

for key in dict2.keys():
if dict.has_key(key):
#append
for v in dict2[key]:
if not v in dict[key]:
dict[key].append(v)
else:
dict[key]=list(dict2[key])

print dict
 

Python将五个词典合并成多个词典

dict1={‘1’: (‘a’, ‘b’, ‘c’, ‘d’卡塔尔(قطر‎, ‘2’: (‘f’,
‘w’,你估算根本未曾把那一个内容用python运行过吧?看自个儿给您改的 合併2个辞书
 

本文实例陈诉了Python中落到实处四个词典(dict)归总的办法,分享给大家供我们参谋。具体方…

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图