1. 字典增删改
#简单字典用法,用{}表示字典。键和值之间用冒号分隔,而键值对之间用逗号分隔,如下所示
alien_0={'color':'green','points':'5'}
print(alien_0['color'])
#字典是键值对,每个值可以是字符串,数字,列表,字典
#添加键值对
alien_0['x_position']=0
alien_0['y_position']=25
print (alien_0)
#创建 一个空的字典
alien_1={}
alien_1['color']='green'
print(alien_1)
#修改值
alien_1['color']='yellow'
print(alien_1)
#删除键值对
del alien_1['color']
print(alien_1)
green
{'color': 'green', 'points': '5', 'x_position': 0, 'y_position': 25}
{'color': 'green'}
{'color': 'yellow'}
{}
[Finished in 1.2s]
2.get用法
#使用get获取值,当字典没有key时,程序也不会报错
alien_0={'color':'green','points':'5'}
#存在key,获取到了值
print(alien_0.get('color'))
#不存在key,返回了None
print(alien_0.get('color123'))
#不存在key,返回了指定值
print(alien_0.get('color123','not null'))
3.遍历字典
#声明一个字典
user_0 = {
'username': 'efermi',
'first': 'enrico',
'last': 'fermi',
}
#遍历
for key,value in user_0.items():
print(f"\nKey:{key}")
print(f"Value:{value}")
#遍历所有key
print("--------遍历所有key-----")
for key in user_0.keys():
print(f"key:{key}")
#按特定顺序遍历字典中所有键,使用sorted获取一个副本
print("--------按特定顺序遍历字典-----")
for name in sorted(user_0.keys()):
print(f"key:{name.title()}")
#遍历字典中所有值
print("--------遍历字典中所有值-----")
user_0["username_alias"]="efermi"
for value in user_0.values():
print(f"value:{value}")
#遍历值时去重,使用set
print("--------遍历值时去重-----")
for value in set(user_0.values()):
print(f"value:{value}")
5.嵌套
有时候,需要将一系列字典存储在列表中,或将列表作为值存储在字典中,这称为嵌套。
#创建一个列表
aliens=[]
for alien in range(30):
new_alien={'color': 'green', 'points': 5, 'speed': 'slow'}
aliens.append(new_alien) #列表添加字典作为值
#显示前3个字典
for alien in aliens[:3]:
print(alien)
#显示创建了多少个
print (len(aliens))
#创建一个列表
aliens=[]
for alien in range(30):
new_alien={'color': 'green', 'points': 5, 'speed': 'slow'}
aliens.append(new_alien) #列表添加字典作为值
#将10个green改成yellow
for alien in aliens[:10]:
if alien["color"]=="green":
alien["color"]="yellow"
alien["speed"]="medium"
alien["pints"]=10
for alien in aliens:
print(alien)
#演示在字典中存储列表
pizza={
'crust':'thick',
'topings':['mushrooms','extra cheese']
}
#打印字典中的列表值
for name in pizza['topings']:
print(name)
#演示在字典中存储字典
users = {
'aeinstein': {
'first': 'albert',
'last': 'einstein',
'location': 'princeton',
},
'mcurie': {
'first': 'marie',
'last': 'curie',
'location': 'paris',
},
}
#打印
for name,nameinfo in users.items():
print(f"Username:{name}")
print(f"\tFull name:{nameinfo['first'].title()} {nameinfo['last'].title()}")
print(f"\tLocation:{nameinfo['location'].title()}")
6. 字典转成json字符串
后面一个参数是防止中文乱码
json.dumps(dics,ensure_ascii=False)