python基础知识—字典

字典:字典是一个无序的,可以修改的,元素呈键值对的形式,以逗号分割的,以大括号包围的序列。
字典的格式:
key : value 键值对
变量名={ key1 : value1 ,key2 : value2…}

注意:
1.使用的符号都是英文表示。
2.key必须是不可变数据类型。
一、字典的定义
dic = {‘name’: ‘zs’, ‘age’: 32, ‘height’: 1.65}
print(dic)
print(type(dic)) # <class ‘dict’> # 注意定义变量的时候不能定义成dict
二、字典的key的类型只能是不可变数据类型(可哈希类型),value可以是任意数据类型
例:
dic = {‘name’: ‘zs’, 10: 32, (1, 2, 3): (2, 3, 4)}
print(dic)
dic = {‘name’: ‘zs’, 10: 32, [1, 2, 3]: (2, 3, 4)}
print(dic) # 报错
小知识点:
可变数据类型(不可哈希数据类型)
不可变数据类型(可哈希数据类型)
三、字典的增加操作
1、setdefault()
dic = {‘name’: ‘zs’, ‘age’: 10, ‘height’: 1.75}
dic.setdefault(‘weight’, 170)
dic.setdefault(‘weight’, 180)
如果键在字典中已经存在了,就不会覆盖字典的中值
2、根据key来设置值
dic[‘weight’] = 180
dic[‘weight’] = 120
print(dic)
如果key存在,就直接覆盖掉原有的值。
四、删除操作
dic = {‘name’: ‘zs’, 10: 1.75, ‘weight’: 129, ‘age’: 10}
1、
dic.pop(‘name’) # 根据键删除值
2、
dic.popitem() # 随机删除一个键值对
3、
dic.clear() # 清除字典中的所有键值对
4、
del dic# 直接从内存中删除变量,效果就是报错
del dic[‘name’] # 根据键删除值
五、修改操作
dic = {‘name’: ‘zs’, ‘weight’: 129, ‘age’: 10}
1、根据键来修改值
dic[‘name’] = ‘赵四’
print()
2、update()
dic1 = {‘name’: ‘赵四’, ‘height’: 1.75}
需要传递一个字典,如果key相同就直接修改对应的value,如果key不存在
就直接添加键值对
dic.update(dic1)
print(dic)
六、查找操作
dic = {‘name’: ‘zs’, ‘weight’: 129, ‘age’: 10}
1、get()
根据键获取对应的值,我们可以定义一个变量来就是返回的值
value = dic.get(‘name’)
print(value)
2、keys()
获取所有的键
ret = dic.keys()
print(ret)
3、values()
获取所有的值
values = dic.values()
print(values)
4、items()
返回列表套元组的形式
dic = {‘name’: ‘zs’, ‘weight’: 129, ‘age’: 10}
ret = dic.items()
print(ret)
输出为:dict_items([(‘name’, ‘zs’), (‘weight’, 129), (‘age’, 10)])
5、len()
dic = {‘name’: ‘zs’, ‘weight’: 129, ‘age’: 10}
ret = len(dic)
返回键值对的个数
6、fromkeys()
tup = (1, 2, 3)
ret = dict.fromkeys(tup)#把元组转换成值为Noen的字典
ret = dict.fromkeys(tup, ‘aa’)#把元组转换成值为’aa’的字典
print(ret)
七、in 和 not in
dic = {‘name’: ‘zs’, ‘weight’: 129, ‘age’: 10}
keys = dic.keys()
print(keys)
if ‘name’ not in keys:
dic[‘name’] = ‘赵四’
else:
dic[‘name’] = ‘尼古拉斯’
print(dic)
in和not in同样作用,意思相反
小知识点:
dic = {‘name’: ‘zs’, ‘weight’: 129, ‘age’: 10}
for key in dic:
print(key)#取出所有键
print(dic.items())#字典转列表套元组
for item in dic.items():
print(item)#取出里面的键值对
for key, value in dic.items():
print(key, value)#取出里面的键和值

猜你喜欢

转载自blog.csdn.net/qq_44240254/article/details/85456375
今日推荐