字典
key,value对,可变对象,无序,任意嵌套,通过key获取value。常见字典常量和操作
D = {} 空字典
D = {'a':1, 'b':2} 这就是字典
D = dict.fromkeys(['a','b'])
D = dict(zip(keyslist, valslist))
D = dict(name='Bob', age=22) 创建字典的函数
D['name'] 通过索引key获取对应的value
D.keys() 返回D字典对象所有key,返回一个列表
D.values() 返回D字典对象所有value,返回一个列表
D.items() 返回key,value值,返回元祖对象
D.copy()
D.get(key,default) 获取字典对象D的key,如果该key不存在则返回default处定义的值
D.update(D1) 字典D与字典D1合并
D.pop(key) 弹出key的值,返回value,并从D对象中删除key,value对
len(D) 元素个数
D[key] = value 重新赋值,或者添加一个新key,value对
del D[key]
list(D.keys()) # python2.6返回列表,但是python3.0返回一个迭代器,需要用list()方法。
{x: x*2 for x in range(10)} python3.0支持字典解析表达式
- 一些例子
# for循环遍历字典
>>> d
{'a': '11', 'b': 2}
>>> for i in d:
... print(i, d[i])
...
('a', '11')
('b', 2)
#
>>> zip(['a','b','c'], [1,2,3])
[('a', 1), ('b', 2), ('c', 3)]
>>> list(zip(['a','b','c'], [1,2,3]))
[('a', 1), ('b', 2), ('c', 3)]
>>> dict(zip(['a','b','c'], [1,2,3]))
{'a': 1, 'c': 3, 'b': 2}
- 创建字典的4中方法
# 1、可以事先拼写出所有key,value对这样很方便
{'a':1, 'b':2}
# 2、动态建立一个字典
a = {}
a['a'] = 1
a['b'] = 2
# 3、关键字形式,key必须都为字符串才行
dict(a=1,b=2)
# 4、在程序运行时把key,value逐步建成序列
dict([('a',1),('b',2)])
- 字典key排序
>>> d
{'a': 1, 'c': 3, 'b': 2}
>>> for i in sorted(d.keys()): print(i)
...
a
b
c
>>> ks = d.keys()
>>> ks.sort()
>>> ks
['a', 'b', 'c']
- has_key()方法不要再使用,使用in替代,因为python3.0中删除了前者
>>> d.has_key('a')
True
>>> d.has_key('d')
False
>>> 'a' in d
True