文档章节

字典

dfkjih
 dfkjih
发布于 2016/01/28 20:17
字数 379
阅读 5
收藏 0

1. 创建字典

>>> dict((["a", 1], ["b", 2])) # ⽤两个序列类型构造字典
{'a': 1, 'b': 2}
>>> dict(zip("ab", range(2)))
{'a': 0, 'b': 1}
>>> dict(map(None, "abc", range(2)))
{'a': 0, 'c': None, 'b': 1}
>>> dict.fromkeys("abc", 1) # ⽤序列做 key,并提供默认 value,原dict不会改变,通常用来赋值给一个变量
{'a': 1, 'c': 1, 'b': 1}
>>> {k:v for k, v in zip("abc", range(3))} # 字典解析
{'a': 0, 'c': 2, 'b': 1}
>>> d = {"a":1, "b":2}
>>> d.setdefault("a", 100) # key 存在,直接返回 value
1
>>> d.setdefault("c", 200) # key 不存在,先设置,后返回
200
>>> d
{'a': 1, 'c': 200, 'b': 2}
7 / 75

2. 合并字典

>>> z = dict(list(x.items()) + list(y.items()))
>>> z
{'a': 1, 'c': 11, 'b': 10}

还可以这样:

z = x.copy()
z.update(y)

3. 删除key

del d['key']
value = d.pop('key') #删除并返回值
d.clear() #清空

4. 添加/更新

#另一个字典
d.update({'key':'newvalue'})  #这里支持一整组值
#元组列表
d.update( [ ('a',1), ('b',2) ] ) #每个元组两个元素,(key,value)
#**key
d.update(c=3, e=4)

5. 排序

from operator import itemgetter
aa = {"a":"1","sss":"2","ffdf":'5',"ffff2":'3'}
#直接sorted返回keys的列表
bb = sorted(aa)
print bb
#以values排序
sort_aa = sorted(aa.items(),key=itemgetter(1))
print sort_aa
#以key排序
sort_aa_key=[]
for k in sorted(aa):
    sort_aa_key.append((k,aa[k]))
print sort_aa_key
结果:
['a', 'ffdf', 'ffff2', 'sss']
[('a', '1'), ('sss', '2'), ('ffff2', '3'), ('ffdf', '5')]
[('a', '1'), ('ffdf', '5'), ('ffff2', '3'), ('sss', '2')]

其他:

d = {'a':1, 'b':2}
d['a']  #得到1,但是若键不存在,将引发异常KeyError。慎用,建议不使用
d.get('c', 3) #得到3,
get方法,若是键不存在,返回第二个参数default_value.若是没有设default_value返回None


© 著作权归作者所有

共有 人打赏支持
dfkjih
粉丝 0
博文 23
码字总数 13951
作品 0
浦东
走进Python世界(五)数据类型 5. 序列类型-字典(Dictionary)

什么是字典 字典是python中唯一的映射类型(哈希表) 字典是无序的 字典对象是可变的,但是字典的键必须使用不可变的对象,并且一个字典中可以使用不同的类型键值 keys() 或者values()返回键...

Garrry
2015/07/27
0
0
08-Swift中的字典

1 字典的介绍 字典允许按照某个键来访问元素 字典是由两部分集合构成的,一个是键(key)集合,一个是值(value)集合 Swift中的字典 Swift字典类型是Dictionary,也是一个泛型集合 2 字典的...

不孤独的美食家
2016/08/07
14
0
OC中的NSDictionary(字典)

字典的基本概念 OC中的字典(NSDictionary,NSMutableDictionary)是由键-值对组成的数据集合.正如,我们在字典里查找单词的定义一样. 通过key(键),查找的对应的value(值),key通常是字符串对象...

Dumplings
2016/03/31
24
0
Python3.5修炼手册10

字典 字典的使用 在python中对字典进行了构造,让我们可以轻松的查到某个特定的键(类似拼音或笔画索引),从而通过键找到对应的值(类似具体某个字)。 创建和使用字典 字典的创建格式如下 ...

duyuheng
2017/08/27
0
0
Python基础手册14——映射(字典)

映射 映射表示由任意索引集索引的有限的,无序的,键不重复的对象集合。目前有一种映射类型:字典。 一、字典 一个字典对象是可变的,它是一个容器类型,可以通过 方法创建。字典能存储任意个...

常大鹏
01/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Minifilter的动态安装、加载及卸载

MINIFILTER框架的文件系统过滤驱动,无法使用的CreateService和OpenService进行动态加载。 看了一下,使用Inf文件安装Minifilter驱动的方式是在注册表驱动服务项下比传统驱动多创建了Instanc...

simpower
27分钟前
3
0
idea新建springCloud项目(6)- Config Server使用

1.在IDEA新建springCloud项目-Config Server 修改版本,和之前建的eureka项目版本一致,修改完记得刷新: 删除掉不需要的文件: 2.把Config S 服务注册到eureka上去,配置git地址,启动项目 ...

monroeCode
33分钟前
4
0
大数据可视化项目开发总纲

第1章 开发文档总纲 1.1 开发工具清单 名称 版本 备注 Pentaho-bi server pentaho-server-ce-7.1 Pentaho Cde为其内置工具 Pentaho-prd pentaho-prd-ce-7.1 Pentaho Report Designer报表工具...

ZhangLG
33分钟前
4
0
pip安装超时问题

pip3 install --default-timeout=100 tensorflow 设置为100秒 参考: User Guide How to solve ReadTimeoutError: HTTPSConnectionPool(host='pypi.python.org', port=443) with pip?......

亚林瓜子
35分钟前
2
0
fragment 旋转时保持当前实例

设备旋转时保存Fragment的交互状态: setRetainInstance(true);

zdglf
37分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部