7.3、基本数据类型之字典
目录
一、dict-字典类型
用key:value形式来存储数据,其中key可以对value有描述性的功能
总结:存多个值,无序,可变
定义:
info={'name':'poco','age':22,'gender':'male'}
字典类型的转化
info=dict([['name','poco'],('age',22)])
print(info)
# {'name': 'poco', 'age': 22}
二、优先掌握的操作
先定义一个字典
dic = {'name': 'poco','age': 22,'hobbies': ['play game', 'Drawing']}
1、按key存取值:可存可取
print(dic['name']) # poco
print(dic['hobbies'][0]) # play game
# 对于赋值操作,如果key原先不存在于字典,则会新增key:value
dic['gender'] = 'male'
print(dic)
# 对于赋值操作,如果key原先存在于字典,则会修改对应value的值
dic['name'] = 'Wang Han'
print(dic)
2、长度len
print(len(dic))
# 运行结果
3
3、成员运算 in 和 not in
print('name' in dic) # 判断某个值是否是字典的key
print('name' not in dic) # 判断某个值是否不是字典的key
4、删除pop
dic.pop('name') # 通过指定字典的key来删除字典的键值对
print(dic) # {'age': 22, 'hobbies': ['play game', 'Drawing']}
5、键keys,值values,键值对items
print(dic.keys()) # 获取字典所有的key
print(dic.values()) # 获取字典所有的value
print(dic.items()) # 获取字典所有的键值对(k和v)
6、循环
for key in dic: # 默认遍历的是字典的key
print(key)
for key in dic.keys(): # 只遍历key
print(key)
for val in dic.values(): # 只遍历value
print(val)
for keyy in dic.items(): # 遍历key与value
print(keyy)The_class.insert(0, '0班') # 第一个是索引位置,第二个是要插入的值
三、需要掌握的操作
1、get()取值
这种取值方式使用频率最为广泛,普通的按key取值时,如果key不存在就会报错,
但get取值时,key不存在时也不会报错,只会返回None(空)
print(dic.get('name')) # key存在,则获取key对应的value值
2、pop()删除
v = dic.pop("name") # 删除指定的key对应的键值对,并返回值
print(dic) # {'age': 22, 'hobbies': ['play game', 'Drawing']}
print(v) # poco
3、popitem()随机删除
item = dic.popitem() # 随机删除一组键值对,并将删除的键值放到元组内返回
print(dic)
print(item)
4、update()更新
dic.update({'name':'wang'}) # 用新字典更新旧字典,有则修改,无则添加
print(dic)
5、fromkeys()列表转字典
把列表变成字典,前面是Key,后面的括号是value,可以指定value值
dic = dict.fromkeys(['name','age'],[])
print(dic)
# 运行结果
{'name': [], 'age': []}
6、setdefault()新增键值对
在key不存在的情况下可以新增键值对,并且可以将新增的value返回
如果key存在,不会做任何修改
res=dic.setdefault('gender','male') # key不存在则新增键值对,并将新增的value返回
print(res) # male
print(dic) # 字典中新增了键值对
res=dic.setdefault('name','wh') # key存在则不做任何修改,并返回已存在key对应的value值
print(res) # poco
print(dic) # 字典不变

浙公网安备 33010602011771号