1. 字典的概念
字典是一种可变容器模型,且可存储任意类型对象。
字典的每个键 key 和 值 value 用冒号“ :”隔开,每个键值对之间使用逗号“ ,”隔开,所有的键值对括在大括号“{ }”内。
d = {'name': 'zhangsan', 'age' :20, 'job':'student'}
这里键为:name、age、job
这里值为:zhangsan、20、student
字典中的键必须是唯一的,不可变的,值则是可变的,可重复的。
2. 对字典的操作
- 访问字典:将相应的键放到方括号中
d = {'name': 'zhangsan', 'age' :20, 'job':'student'}
print(d['name'])
print(d['age'])
结果:
zhangsan
20
- 修改字典:向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对。
d = {'name': 'zhangsan', 'age': 20, 'job': 'student'}
d['name'] = 'lisi' #更新新值
d['hight'] = 185 #添加新的键/值对
print(d)
结果:
{'name': 'lisi', 'age': 20, 'job': 'student', 'hight': 185}
- 删除字典元素:能删单一的元素也能清空字典,清空只需一项操作,显示删除一个字典用del命令。
d = {'name': 'zhangsan', 'age': 20, 'job': 'student'}
d.clear() #清空字典
del d #删除字典
- 字典键的特性
字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。
两个重要的点需要记住:
1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住;
2)键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行。
d = {'name': 'zhangsan', 'age': 20, 'job': 'student', 'name' : 'lisi'}
print(d)
结果:
{'name': 'lisi', 'age': 20, 'job': 'student'}
d = {['name']: 'zhangsan', 'age': 20, 'job': 'student', }
print(d)
3. 字典内置函数
- len(dict) — 计算字典元素个数,即键的总数。
d = {'name': 'zhangsan', 'age': 20, 'job': 'student', }
print(len(d))
结果:
3
- str(dict) — 输出字典,以可打印的字符串表示。
d = {'name': 'zhangsan', 'age': 20, 'job': 'student', }
print(str(d))
结果:
{'name': 'zhangsan', 'age': 20, 'job': 'student'}
- type(variable) — 返回输入的变量类型,如果变量是字典就返回字典类型。
d = {'name': 'zhangsan', 'age': 20, 'job': 'student', }
print(type(d))
结果:
<class 'dict'>
4. 字典内置方法
- radiansdict.clear() — 删除字典内所有元素
d = {'name': 'zhangsan', 'age': 20, 'job': 'student', }
d.clear()
print(d)
结果:
{}
2.radiansdict.copy() — 返回一个字典的浅复制
d = {'name': 'zhangsan', 'age': 20, 'job': 'student', }
d2 = d.copy()
print(d2)
结果:
{'name': 'zhangsan', 'age': 20, 'job': 'student'}
3.radiansdict.fromkeys() — fromkeys() 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。
seq = ('name', 'age', 'sex')
dict = dict.fromkeys(seq, 10)
print(dict)
结果:
{'name': 10, 'age': 10, 'sex': 10}
4.radiansdict.get(key, default=None)
返回指定键的值,如果键不在字典中返回 default 设置的默认值
在这里插入代码片
-------------持续更新中----------------------