Python字典数据类型详解
2021-11-17 17:25 何小六soso 阅读(624) 评论(0) 编辑 收藏 举报Python字典数据类型详解
字典也是一种主机的集合,有键值对组成,字典中的键不能重复
字典中的键必须是不可变的数据类型,常用:字符串、整型
字典定义
-
使用{}定义 变量=
-
使用等关键字传参 变量=
-
数据类型的转换 变量=dict([['a',1],['b',2]...])
-
压缩函数 zip()定义 变量=dict(zip(list1,list2))
# 使用{}定义 变量={键:值,键:值,键:值....}
vardict={'a':1,'b':2,'c':3}
# 使用等关键字传参 变量={键=值,键=值,键=值....}
vardict=dict(name='python',sex='男',age=99)
# 数据类型的转换 变量=dict([['a',1],['b',2]...])
vardict=dict([['name','python'],['sex','男'],['age',99]])
# 压缩函数zip()
var1=[1,2,3,4]
var2=['a','b','c']
vardict=dict(zip(var1,var2))
print(vardict) # {1: 'a', 2: 'b', 3: 'c'}
字典操作
# 字典的操作
vardict=dict(name='python',sex='男',age=99)
# 获取元素
res=vardict['name'] # python
print(res)
# 修改元素
vardict['name']='java' # {'name': 'java', 'sex': '男', 'age': 99}
print(vardict)
# 删除元素
del vardict['name']
print(vardict) # {'sex': '男', 'age': 99}
vardict.pop('sex')
print(vardict)
# 添加元素
vardict['name']='python'
print(vardict) # {'age': 99, 'name': 'python'}
vardict['name']='java' # key重复数据被覆盖
print(vardict) # {'age': 99, 'name': 'java'}
# 检测key是否存在
res='name' in vardict
print(res) # True
res='address' not in vardict
print(res) # True
# 获取字典长度
print(len(vardict)) # 2
# 获取字典中的所有key
print(vardict.keys()) # dict_keys(['age', 'name'])
# 获取字典中所有的value
print(vardict.values()) # dict_values([99, 'java'])
# 获取字典中所有的键值对
print(vardict.items()) # dict_items([('age', 99), ('name', 'java')])
# 遍历字典
for k,v in vardict.items():
print(k,v,end=' ') # age 99 name java
print("==============")
# 遍历字典key
for k in vardict.keys():
print(k,end=' ') # age name
print('')
# 遍历字典value
for v in vardict.values():
print(v,end=' ') # 99 java
# dict.pop(),通过key删除字典中的键值对
print(vardict.pop('name')) # 99 java python
# dict.get(),使用get函数获取字典中不存在的元素不会报错
print(vardict.get('sex')) # 男
# vardict.update() 更新字典元素,对应的key存在则更新,不存在则添加,返回值为none
print(vardict.update(name='java')) # None
print(vardict) # {'sex': '男', 'age': 99, 'name': 'python'}
print(vardict.update(name='python')) # None
print(vardict) # {'sex': '男', 'age': 99, 'name': 'python'}
字典推导式
# 字典推导式
vardict=dict(name='python',sex='男',age=99)
# 字典中的key和value互换位置
newdict={}
for k,v in vardict.items():
newdict[v]=k
print(newdict)
# 字典推导式,去除奇数键值对
vardict={'a':1,'b':2,'c':3,'d':4,'e':5,'f':6,'g':7,'h':8}
newdict={k:v for k,v in vardict.items() if v % 2 == 0}
print(newdict)