博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python 中两个字典(dict)合并
阅读量:6070 次
发布时间:2019-06-20

本文共 1751 字,大约阅读时间需要 5 分钟。

hot3.png

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

list新增元素使用append方法。并不像php中 直接$array[]='xxx';

>>> a=[]>>> a.append('bbb');>>> b={'test':'bbbbbbbbbbb'}>>> a.append(b);>>> a['bbb', {'test': 'bbbbbbbbbbb'}]>>> c={'cc':"cccccccccccc"}>>> a[4]=100Traceback (most recent call last):  File "
", line 1, in
IndexError: list assignment index out of range>>> print a['bbb', {'test': 'bbbbbbbbbbb'}]>>> a[2]=100Traceback (most recent call last): File "
", line 1, in
IndexError: list assignment index out of range>>> a[1]=100>>> print a['bbb', 100]>>> a[4]=100Traceback (most recent call last): File "
", line 1, in
IndexError: list assignment index out of range

 

转载于:https://my.oschina.net/mickelfeng/blog/792165

你可能感兴趣的文章
关于outlook的配置
查看>>
RHEL6.2挂载ntfs文件系统
查看>>
cobbler基础使用
查看>>
windows 2012 r2 英文系统 安装 中文软件 显示乱码
查看>>
AngularJS 过滤与排序详解及实例代码
查看>>
openssl续
查看>>
Centos5 下安装配置APC
查看>>
【Composer】实战操作一:使用库
查看>>
centos6.5 x86_64下yum安装nginx和php
查看>>
Mysql 产品分类和版本说明
查看>>
Linux sed高级用法
查看>>
log4j 配置文件 常规使用 以及 按照不同级别打印到不同的文件
查看>>
汇编语言 第二章 寄存器检测点2.2 第二题
查看>>
rmi经典实例---远程调用简单实现方式
查看>>
Hibernate get和load区别
查看>>
Node.js基础
查看>>
FFMPEG Tips (4) 如何中断阻塞的网络线程
查看>>
js 数组去除重复对象
查看>>
移动互联网之云计算客户端
查看>>
项目实战_Python.利用Pygame编写微信打飞机小游戏完整系列?
查看>>