概述
字典
dictionary
1.键值对的集合(map)
2.字典是以大括号“{}”包围的数据集合
3.字典是无序的,在字典中通过键来访问成员。 可变的,可嵌套,可以原处修改扩展等,不产生新的字典
4.字典的键,可以是字符串(大小写敏感),数字常量或元组(不可变类型),同一个字典的键可以混用类型。字典的键必须是可哈希的
5.字典的值可以是任意类型,可以嵌套,可以自由修改
声明
创建字典的几种方式:
1.基本
2.dict
d = dict([('name','tom'),('age',22)])
#等价
keys = ['name','age']
values = ['tom',22]
d = dict(zip(keys,values))
3.fromkeys
不指定default_value的话,默认None
基本操作
0.获取帮助
2.读取
try:
print d[k]
except KeyError:
dosomething()
print d.get(k,default)
#等价 d[k] if k in d else default
3.遍历
方式1:
方式2:
4.修改方式1:某个键值对
方式2:批量添加或更新
#元组列表
d.update( [ ('a',1),('b',2) ] ) #每个元组两个元素,(key,value)
#**key
d.update(c=3,e=4)
5.删除
len(d) #长度
d.keys() #key列表
d.values() #value列表
d.items() #(key,value) 列表
c = d.copy() #浅拷贝
#返回迭代器,节省内存
d.iterkeys()
d.itervalues()
d.iteritems()
d.setdefault('name','ken') #若原来没有,设置,否则原值不变
其他
1.字典排序按照key排序
按照value进行排序
2.自定义对象作为key
必须:
3.字典拷贝浅拷贝:
4.一种使用场景假设有一个很大的列表l,假设10w条记录
有一个小列表b,要判断b中元素是否在l中
如果:
你会发现非常非常慢...因为第二个in语句,会遍历10w条….
改进:
总结
以上是编程之家为你收集整理的python基础教程之字典操作详解全部内容,希望文章能够帮你解决python基础教程之字典操作详解所遇到的程序开发问题。
如果您也喜欢它,动动您的小指点个赞吧