文章目录
一、字典
1. 字典的输出:一系列键值对,每个键都与一个值相关联,可以用键来访问相关联的值
alien_0 = {'color':'green','points':5}
print(alien_0['color'])
print(alien_0['points'])
#输出green
#5
2. 访问字典中的值
alien_0 = {'color':'green','points':5}
new_points = alien_0['points']
print(f"You earened {new_points} points!")
#输出You earened 5 points!
3. 添加键值对
alien_0 = {'color':'green','points':5}
alien_0['x_position'] = 0
alien_0['y_position'] = 25
print (alien_0)
#输出为{'color': 'green', 'points': 5, 'x_position': 0, #'y_position': 25}
4. 创建一个空字典,修改字典中的值,删除键值对再创建一个字典
alien_0 = {}
alien_0['color'] = 'green'
alien_0['points'] = 5
print(alien_0)
#输出为{'color': 'green', 'points': 5}
#修改字典中的值
alien_0['color'] = 'yellow'
print(alien_0)
#输出为{'color': 'green', 'points': 5}
#{'color': 'yellow', 'points': 5}
#删除键值对
del alien_0['points']
print(alien_0)
#输出为{'color': 'yellow'}
5. 修改字典的例子
alien_0 = {'x_position': 0,'y_position': 25, 'speed':'medium'}
print(f"Original position: {alien_0['x_position']}")
if alien_0['speed'] == 'slow':
#注:是两个等号
x_increment = 1
elif alien_0['speed'] == 'medium':
x_increment = 2
else:
x_increment = 3
alien_0['x_position'] = alien_0['x_position'] + x_increment
print(f"New position: {alien_0['x_position']}")
#输出Original position: 0
#New position: 2
二、例2
favorite_languages = {'cysta':'matlab','dong_yan_song':'python','gao_yuan':'python'}
language = favorite_languages['cysta'].title()
print(f"Cysta's favorite language is {language}.")
#输出Cysta's favorite language is Matlab.
7. 使用get()来访问值
alien = {'color':'green','speed':'slow'}
point_value = alien.get('points','No point value assigned.')
print(point_value)
#输出No point value assigned.
8. 遍历所有键值对(key value)
user_0 = {'username':'efermi','first':'enrico','last':'fermi',}
for key,value in user_0.items(): 注:方法items()返回键值对列表
print(f"\nKey:{key}")
print(f"Value:{value}")
#输出Key:username
#Value:efermi
#Key:first
#Value:enrico
#Key:last
#Value:ferm
9. 遍历字典中的所有键
favorite_languages = {'cysta':'matlab','dong_yan_song':'python','gao_yuan':'python'}
for name in favorite_languages.keys():
print(name.title())
#输出Cysta
#Dong_Yan_Song
#Gao_Yuan
#按顺序历遍字典中的所有键:sorted()
favorite_languages = {'dong_yan_song':'python','gao_yuan':'python','cysta':'matlab'}
for name in sorted(favorite_languages.keys()):
print(name.title())
#输出Cysta
#Dong_Yan_Song
#Gao_Yuan
10. 遍历字典中的所有值
favorite_languages = {'cysta':'matlab','dong_yan_song':'python','gao_yuan':'python'}
for name in favorite_languages.values():
print(name.title())
#输出Matlab
#Python
#Python
#剔除重复的值:set()
favorite_languages = {'cysta':'matlab','dong_yan_song':'python','gao_yuan':'python'}
for name in set(favorite_languages.values()):
print(name.title())
#输出Python
#Matlab
#注:集合和字典很容易混淆,因为他们都是用一对花括号定义的:当花括号内没有键值对时,定义的很有可能是集合。
11. 字典列表
alien_0 = {'color': 'green','points': 5}
alien_1 = {'color': 'yellow','points': 10}
alien_2 = {'color': 'red','points': 15}
aliens = [alien_0,alien_1,alien_2]
for alien in aliens:
print(alien)
#输出{'color': 'green', 'points': 5}
#{'color': 'yellow', 'points': 10}
#{'color': 'red', 'points': 15}