一、Python字典
字典是另一种可变容器模型,且可储存任意类型对象。
字典的每个键值key=>value对用冒号:分割,每个键值对之间用逗号,分割,整个字典包括在花括号{}中,格式如下所示:
d={key1:value1,key2:value2}
键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。
dict={'a':1,'b':2,'b':3}
print(dict)#{'a': 1, 'b': 3}
注意:字典的key 不能是可修改数据类型,例如列表就不能当字典的key。
value 可以是任意数据类型。
二、字典方法
对字典的操作也是增删改查
(1)增加操作
方法 | 描述 |
---|---|
变量名[key]=value | 通过key 添加value值,如果key存在则覆盖 |
setdefault(key,default_value) | 指定key和value,如果key存在则覆盖 |
练习1:使用 变量名[key]=value 格式添加height=1.83元素
people={'name':'张三','age':20}
people['height']=1.83
print(people)
#{'name': '张三', 'age': 20, 'height': 1.83}
练习2:使用 setDefault()方法添加height=1.83元素
people={'name':'张三','age':20}
people.setdefault('height',1.83)
print(people)
#{'name': '张三', 'age': 20, 'height': 1.83}
(2)删除操作
方法 | 描述 |
---|---|
pop | 弹出,返回并删除指定键对应的值 |
popitem | 随机弹出一个键值元组,这里随机的原因是因为字典无序 |
clear | 清空字典 |
#pop
people={'name':'张三','age':20,'height': 1.83}
people.pop('name')
print(people)
#{'age': 20, 'height': 1.83}
#popitem
people={'name':'张三','age':20,'height': 1.83}
people.popitem()#删除某一个键值对
print(people)
#{'name': '张三', 'age': 20}
#popitem
people={'name':'张三','age':20,'height': 1.83}
people.clear()
print(people)#{}
#del方法
people={'name':'张三','age':20,'height': 1.83}
del people['name']
print(people)#{'age': 20, 'height': 1.83}
(3)修改操作
方法 | 描述 |
---|---|
变量名[key]=value | 通过key 添加value值,如果key存在则覆盖 |
update() | 传递一个字典,如果key相同则覆盖,没有的key则添加 |
people={'name':'张三','height': 1.83}
people1={'name':'张三','age':20}
people.update(people1)
print(people)
#{'name': '张三', 'height': 1.83, 'age': 20}
(4)查找操作
方法 | 描述 |
---|---|
key | 返回一个包含字典所有key的列表 |
values | 返回一个包含字典所有vaule的列表 |
get | 以键取值,如果指定键不存在,默认返回None,可以指定返回内容 |
update | 以字典格式更新指定键的内容,如果键不存在,创建键和值 |
items | 返回字典键值呈元组形式的格式 |
len | 测量字典,键值对的个数(整体) |
#根据key查找
people={'name':'张三','age':20,'height': 1.83}
name=people['name']
print(name)#张三
#get()
people={'name':'张三','age':20,'height': 1.83}
name=people.get('name')
print(name)#张三
#keys 获取所有key
people={'name':'张三','age':20,'height': 1.83}
keys=people.keys()
print(keys)#dict_keys(['name', 'age', 'height'])
#values 获取所有value
people={'name':'张三','age':20,'height': 1.83}
values=people.values()
print(values)#dict_values(['张三', 20, 1.83])
#items()
people={'name':'张三','age':20,'height': 1.83}
items=people.items()
print(items)
#dict_items([('name', '张三'), ('age', 20), ('height', 1.83)])
#len()
people={'name':'张三','age':20,'height': 1.83}
print(len(people))#3