Python之路6:字典

2018-03-20  本文已影响0人  缘小泽

字典是一种 Key-value 的数据类型

特性:

key-value 结构
key 必须可 hash ,且必须为不可变数据类型,必须唯一
可存放任意多个值,可修改,可以不唯一
无序
查找速度快

字典的用法:

// 字典为大括号,key 和 value之间用冒号分开,不同 Key-value 之间用逗号分开
>>> info = {'stu001':['zeinv',23],'stu002':['jack',33]}
>>> info
{'stu001': ['zeinv', 23], 'stu002': ['jack', 33]}
// 直接在字典后中括号内写入 key值,后面等于号写于 value 值
>>> info['stu003'] = ['abc',24]
>>> info
{'stu001': ['zeinv', 23], 'stu002': ['jack', 33], 'stu003': ['abc', 24]}
>>> info['stu003'] = ['cde',32]
>>> info
{'stu001': ['zeinv', 23], 'stu002': ['jack', 33], 'stu003': ['cde', 32]}
// 获取可以用 .get(key)获取value值,如果字典里没有也不会报错
>>> info['stu001'] 
['zeinv', 23]
>>> info.get('stu001')
['zeinv', 23]
>>> info.get('stu005')
>>> info['stu005']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'stu005'
>>> info.pop('stu001') // 删除掉的同时打印出value值
['zeinv', 23]
>>> info.popitem()  // .popitem 随机删除字典内的数据
(6, 2)
>>> del info[3]  // del 删除并且不显示所删除的value
>> info.cleaer()  // 清空整个字典
>>> info.keys()   // 显示所有的 key 值
dict_keys(['stu002', 'stu003', 4])
>>> info.values()   // 显示字典内所有 value 值
dict_values([['jack', 33], ['cde', 32], 2])
>>> 
>>> info.items()  // 将字典变成列表
dict_items([('stu002', ['jack', 33]), ('stu003', ['cde', 32]), (4, 2)])

>>> dic2 = {1:2,3:4,4:3,'stu002':['j',33]}
>>> info.update(dic2)  // 将字典 dic2 整合到 info 里,如果有相同的 key 值时,dic2 中 value 将覆盖 info 里的值
>>> info
{'stu002': ['j', 33], 'stu003': ['cde', 32], 4: 3, 1: 2, 3: 4}

>>> info.setdefault(4,'jb')  //
3  
>>> info.setdefault(6,'jb')
'jb'
>>> info
{'stu002': ['j', 33], 'stu003': ['cde', 32], 4: 3, 1: 2, 3: 4, 6: 'jb'}
上一篇下一篇

猜你喜欢

热点阅读