python基础知识-字典

简介

Python字典用来存储多个不同类型的数据,字典里面的数据以键值对的形式出现,字典数据和数据顺序没有关系,即可说明字典不支持下标,后期无论数据如何变化,只需要按照对应的键的名字查找数据

创建

形式:1.大括号         2.必须要有键值对         3.逗号隔开

dict1={'name':'jjb','age':20,'gender':'男'}

其中’name’  :  'jjb’为其中一个键值对
空字典:

dict2={};
dict3=dict();

字典常用操作

增(改)

常用格式:字典序列[key]=值
注意:如果key存在则修改key对应的值,不存在则在后面添加

dict1={'name':'jjb','age':20,'gender':'男'}
dict1['age']=18 #修改年龄
print(dict1)
dict1['feature']='帅' #添加特征
print(dict1)
#输出结果
#{'name': 'jjb', 'age': 18, 'gender': '男'}
#{'name': 'jjb', 'age': 18, 'gender': '男', 'feature': '帅'}

  • del:删除字典或删除字典中指定的键值对
  • clear:清空字典
dict1={'name':'jjb','age':20,'gender':'男'}
del dict1['age'] # 删除年龄
print(dict1)

dict1.clear()   # 清空字典
print(dict1)

del dict1      # 删除字典,删除后该字典不存在

# 输出结果:
# {'name': 'jjb', 'gender': '男'}
# {}

  • 利用key值
  • get():用法:字典序列.get(key,默认值),如果当前查找key不存在,则返回第二个参数(默认值),如果省略第二个参数,则返回None
  • keys:用法:字典序列.keys(),返回key列表(一个可迭代对象),可用于for循环遍历
  • values:用法:字典序列.values(),返回值列表(一个可迭代对象),可用for循环遍历
  • items:用法:字典序列.items(),返回列表元素为元组(一个可迭代对象),可用for循环遍历
dict1={'name':'jjb','age':20,'gender':'男'}
print(dict1['name']) #查找name值
# 输出结果:jjb

dict1={'name':'jjb','age':20,'gender':'男'}
print(dict1.get('age'))
print(dict1.get('feature','帅'))
#输出结果:
#20
#帅

print(dict1.keys()) #返回key值
# 输出结果:dict_keys(['name', 'age', 'gender'])

print(dict1.values()) #返回值列表
#输出结果:dict_values(['jjb', 20, '男'])

print(dict1.items())  #返回列表元素为元组
#输出结果:dict_items([('name', 'jjb'), ('age', 20), ('gender', '男')])


# 举一个for循环遍历的例子
for item in dict1.items():
    print(item)
#输出结果:
# ('name', 'jjb')
# ('age', 20)
# ('gender', '男')

其余性质

  • 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住
  • 键必须不可变,所以可以用数字,字符串或元组充当,不能用列表
dict1={'name':'jjb','age':20,'gender':'男','age':18}
print(dict1)
# 输出结果:
# {'name': 'jjb', 'age': 18, 'gender': '男'}

dict2={['name']:'jjb','age':18}
# 报错:
# TypeError: unhashable type: 'list'

猜你喜欢

转载自blog.csdn.net/jiuzhongxian_/article/details/106417730
今日推荐