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)  # 字典不变
posted @ 2021-03-21 20:53  黑影Poco  阅读(83)  评论(0)    收藏  举报