创建和访问字典
- 字典是映射类型,不是序列
- 例:
dict1 = {'李宁':'一切皆有可能', '耐克':'Just do it', '阿迪达斯':'Impossible is nothing','鱼':'让编程改变世界'}
#品牌名是键,口号是值
print('鱼:',dict1['鱼'])
- 字典的创建
dict1 = {}
# 利用序列进行创建
dict1 = dict((('F',70),('i',105),('s',135),('h',104),('c',67)))
# 通过给键赋值来进行创建
dict2 = dict(鱼 = '用编程改变世界',苍老师 = '让AV改变世界')
#会将值修改
dict2['苍老师'] = 'asdf'
# 会创建一个新的键对应这个值,而**不**是会去报错
dict2['苍井空'] = 'asdf'
- fromkeys(s [, v]):s是键,v 是可选的,多个键时用序列代替
>>> dict1.fromkeys((1,2,3))
{1: None, 2: None, 3: None}
>>> dict1.fromkeys((1,2,3),'number')
{1: 'number', 2: 'number', 3: 'number'}
>>> dict1.fromkeys((1,2,3),('a','b','c'))
{1: ('a', 'b', 'c'), 2: ('a', 'b', 'c'), 3: ('a', 'b', 'c')}
- 访问字典的方法
dict1 ={}
dict1 = dict1.fromkeys(range(32),'赞')
for eachkey in dict1.values():
print(eachkey)
dict1.items()表示打印整个目标,一对一对的打印
dict1.get(32 [, ‘木有’] ),这样会检测有没有32这个键,没有的话返回空或设定值,有的话返回值
也可以用成员资格操作符检测是否在字典内,31 in dict1 -> True
- 清空字典的方法
dict1.clear()
# dict1 = {} 可用,但是不推荐
a = dict1 = {'名字':'Cany'}
b = a
a = {}
print(b)
print(a)
结果:
{'名字': 'Cany'}
{}
- copy():拷贝后的和原来的是两个独立的,和赋值得到的是不一样的
- dict1.pop(s):给定键,弹出对应数据
- dict1.popitem():字典里面没有顺序,弹出是随机进行的
- dict1.setdefault(5, ‘five’):在字典中,没有这个键的时候会自动添加,如果存在这个键,则不做修改
- dict1.update(b):用字典来更新dict1,如果键重合则对值进行修改,不存在则进行添加。