Python 字典
是另一种可变容器模型,且可存储任意类型对象
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号 { } 中 ,格式如下所示:
d = {key1 : value1, key2 : value2 }
键必须是唯一的,但值则不必 【即,可一对多】
创建字典
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
举例:
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
也可以:
dict1 = { 'abc': 456 };
dict2 = { 'abc': 123, 98.6: 37 };
输出:
输出:
fromkeys() 函数创建一个新字典
dict.fromkeys(seq[, value])
参数
- seq -- 字典键值列表。
- value -- 可选参数, 设置键序列(seq)对应的值,默认为 None。
输出:
输出:9102
修改字典
输出:
删除字典元素
输出:
字典键的特性
字典内置函数&方法
# .keys() 返回键的引用 .values() 返回值 .items() 返回整个项
输出:
返回的是 dict_xxx 对象,若需要转换为列表,请使用:
代码:
输出:
['name', 'age']
['jike', 18]
[('name', 'jike'), ('age', 18)]
# get()查找
输出:
None
no find
18
解释:
查找的是键,不存在时返回None对象,没用print不会打印出来,不显示
也可以添加提示,返回None时输出该提示
# 另外
清空字典
xx.clear() 或 xx = {}
但用后者时, a = b = {'x':1,'y':2}
令a = {}
但b != {}
copy()浅拷贝
赋值的话,只是多了个名字,浅拷贝后地址是不同的
xx.pop(2)
弹出键’2‘对应的值,该项也会被切去
xx.popitem()
随机弹一个项,该项会被切去
setdefault() 找值,没有会添加 (x,'ddd')
输出:
xx = {'..':'..'}
yy.update(xx) 利用一个字典关系xx去更新另一个字典yy
输出:
{'name': 'jike', 'age': 18}
{'name': 'jike', 'age': 18}