前言
python中的字是键值对形式
一、一个简单的字典
创建字典:
alien_0 = {'color':'greeen','points':5}
print(alien_0['color'])
print(alien_0['points'])
二、使用字典
字典是键值对数据,每个键都有对应的值,通过访问键来获取值。
new_points = alien_0['points']
print(f"you just got {new_points} points")
1.添加键值对
alien_0['x'] = 0
alien_0['y'] = 100
print(alien_0)
2.创建空字典
创建空字典有时候可以更加便利的添加新的键值对。
alien_0 = {}
alien_0['color'] = 'green'
alien_0['points'] = 5
print(alien_0)
3.修改字典中的值
字典中的值可以修改,元组的值不能修改。
alien_0 = {'color':'green'}
print(f"the alien is {alien_0['color']}.")
alien_0['color'] = 'yellow'
print(f"the alien is now {alien_0['color']}")
alien_0 = {'x_position':0,'y_position':25,'speed':'medium'}
print(f"original x_position:{alien_0['x_position']}")
alien_0['speed'] = 'fast'
if alien_0['speed'] == 'slow':
x_increament = 1
elif alien_0['speed'] == 'medium':
x_increament = 2
else:
x_increament = 3
alien_0['x_position'] = alien_0['x_position'] +x_increament
print(f"new x_position:{alien_0['x_position']}")
4.删除键值对
字典中的不需要的信息可以通过del语句进行删除。
alien_0 = {'color':'green','points':5}
print(alien_0)
del alien_0['points']
print(alien_0)
删除的键值会永久消失。
5.由类似的对象组成字典
favorite_languages = {
'jen':'python',
'sarah':'c',
'edward':'ruby',
'phil':'python',
}
language = favorite_languages['sarah'].title()
print(f"sacah's favorite language is {language}")
6.使用get()来访问值
通过方括号来获取值时存在的一个问题就是,如果该值的键不存在,会出错。
因此通过get()方法可以避免,当指定的键不存在时会给一个默认值,从而比弥漫出错。
alien_0 = {'color':'green','speed':'slow'}
point_value = alien_0.get('points','no such value')
print(point_value)
遍历字典
通过遍历字典来访问字典中的所有数据
user_0 = {
'username':'efermi',
'first':'enrico',
'last':'fermi',
}
for key,value in user_0.items():
print(f"\n key:{key}")
print(f"\n value:{value}")
遍历键
for name in favorite_languages.keys():
print(name.title())
嵌套
# 列表中嵌套字典
alien_0 = {'color':'green','points':5}
alien_1 = {'color':'red','points':10}
alien_2 = {'color':'yellow','points':15}
alients = [alien_0,alien_1,alien_2]
for alien in alients:
print(alien)
aliens = []
for alien_number in range(30):
new_alien = {'color':'green','points':5,'speed':'slow'}
aliens.append(new_alien)
for alien in aliens[:5]:
print(alien)
print('----')
print(f"totel number is {len(aliens)}")
# 在字典中存储列表
pizza = {
'crust':'thick',
'toppings':['mushroom','extra cheese'],
}
print(f"you order a {pizza['crust']}-crust pizza with following toppings:")
for topping in pizza['toppings']:
print('\t'+topping)
# 在字典中存储列表
favorite_languages = {
'jen':['pyhton','ruby'],
'sarsh':['c'],
'edward':['ruby','go'],
'phil':['python','haskell'],
}
for name,languages in favorite_languages.items():
print(f"{name}'s favorite language are")
for language in languages :
print(language)
# 在字典中存储字典
users = {
'aeinstein':{
'first':'albert',
'last':'einstein',
'location':'princeton',
},
'mcurie':{
'first':'marie',
'last':'curie',
'location':'paris'
}
}
for username ,userinfo in users.items():
print(f"\nUsername:{username}")
fullname = f"{userinfo['first']}{userinfo['last']}"
location = userinfo['location']
print(f"\tFull name:{fullname.title()}")
print(f"\tlocation:{location.title()}")
总结
字典的常见处理方式。