Python中的字典是完全不同的东西,它们不是序列,没有顺序,只是一种映射。内部的元素以逗号分开,以大括
号包围。它们不是通过位置而是通过键来存储的,也具有可变性,可以就地的改变,增大或减小。
主要属性:
<1>通过键而不是偏移量来读取
<2>任意对象的无序集合
<3>可变长、异构、任意嵌套
<4>属于可变映射
<5>对象引用表
常见操作
D={ } 空字典
‘name‘ in D 成员存在测试
D.keys() 方法:键
D.values() 值
D.items() 键+值
D.copy() 副本
D.get(key,default) 默认
D.update(D1) 合并
D.pop(key) 删除
len(D) 求长度
D[name] = ‘ww‘ 修改,增加
del D[key] 删除
list(D.values()) list(D.items()) list(D.keys()) 将相应的值转化为list
映射操作
>>> D={}
>>> D[‘name‘] = ‘Bob‘
>>> D[‘job‘] = ‘dev‘
>>> D[‘age‘] = 40
>>> D
{‘age‘:40,‘job‘:‘dev‘,‘name‘:‘Bob‘}
>>> print (D[‘name‘])
Bob
遍历操作
由于没有顺序,我们可以先把字典的键转换为list,排序之后打印。
>>> d = list(D.keys())
>>> d
[‘a‘,‘c‘,‘b‘]
>>> d.sort()
>>> d
[‘a‘,‘b‘,‘c‘]
>>> for i in d:
print(i,‘=>‘,d[i])
a => 1
b => 2
c => 3
简化点
>>> for key in sorted(D):
print(key,‘=>‘,D[key])
用法注意事项:
<1>序列运算无效(无顺序)
<2>对新索引赋值会添加项
<3>键不一定总是字符串
<4>避免missing key的错误
参考<<learning python>>
Python<8>有关字典