目录
1.字典的格式
变量名={key1:value1,key1:value2,..........}
字典是无序的
Key只能是不可变数据类型
Value可以是任意数据类型
可变数据类型是不可哈希数据类型 不可以用哈希算法算出来的
不可变数据类型是可哈希数据类型 可以用哈希算法算出来的
dic = {'name': 'zs', 'age': 10, 'height': 1.65, 'weight': 160}
print(dic) # {'name': 'zs', 'age': 10, 'height': 1.65, 'weight': 160}
print(type(dic)) # <class 'dict'>
2.字典的增删改查
(1)增加操作
setdefault() | 设置默认值 ,设置之后就不会变 |
通过key值设置字典中的值 | 如果没有就添上去,如果有就覆盖原来的值 |
dic = {'name': 'zs', 'age': 20}
dic.setdefault('height', 1.65)
print(dic) # {'name': 'zs', 'age': 20, 'height': 1.65}
dic.setdefault('height', 1.55)
print(dic) # {'name': 'zs', 'age': 20, 'height': 1.65}
(2)删除操作
pop() | 根据键值删除元素 |
popitem() | 随机删除一个键值对 |
clear() | 清空字典中的所有内容 |
del | 把字典直接从内存中删除 |
dic = {'name': 'zs', 'age': 20, 'height': 1.65, 'weight': 160}
print(dic) # {'name': 'zs', 'age': 20, 'height': 1.65, 'weight': 160}
dic.pop('name') # 根据键值删除元素
print(dic) # {'age': 20, 'height': 1.65, 'weight': 160}
(3)修改操作
通过键值修改内容:
update()
dic = {'name': 'zs', 'age': 20, 'height': 1.54, 'weight': 150}
print(dic)
dic['name'] = '赵四'
print(dic) # {'name': '赵四', 'age': 20, 'height': 1.54, 'weight': 150}
dic2 = {'name': 'ww', 'height': 1.99}
dic.update(dic2)
print(dic) # {'name': 'ww', 'age': 20, 'height': 1.99, 'weight': 150}
(4)查找操作
get() | 通过键值获取对应的值,定义一个变量接收返回的值 |
keys() | 获取所有的键值 |
values() | 获取所有的值 |
items() | 获取所有的键值对 |
len() | 返回键值对应的个数 |
fromkeys() |
dic = {'name': 'zs', 'age': 20, 'height': 1.65, 'weight': 140}
print(dic)
ret = dic.get('name')
print(ret) # zs
ret = dic.keys()
print(ret) # dict_keys(['name', 'age', 'height', 'weight'])
ret = dic.values()
print(ret) # dict_values(['zs', 20, 1.65, 140])
ret = dic.items()
print(ret) # dict_items([('name', 'zs'), ('age', 20), ('height', 1.65), ('weight', 140)])
lenght1 = len(dic)
print(lenght1) # 4
tup = (1, 2, 3)
ret = dic.fromkeys(tup)
print(ret) # {1: None, 2: None, 3: None}
ret = dic.fromkeys(tup, 'aa')
print(ret) # {1: 'aa', 2: 'aa', 3: 'aa'}
3.in 和not
dic = {'name': 'zs', 'age': 10, 'height': 1.65, 'weight': 150}
print(dic)
keys = dic.keys()
print(keys) # dict_keys(['name', 'age', 'height', 'weight'])
# 1.把所有的键输出来
# name
# age
# height
# weight
# 方法一:
for key in dic.keys():
print(key)
# 方法二:
for key in dic:
print(key)
# 2.把所有的值输出来
# zs
# 10
# 1.65
# 150
for value in dic.values():
print(value)
# 3.把所有的键值对都输出来:
# ('name', 'zs')
# ('age', 10)
# ('height', 1.65)
# ('weight', 150)
for item in dic.items():
print(item)
# 4.
# name zs
# age 10
# height 1.65
# weight 150
for key, value in dic.items():
print(key, value)