蓝桥杯Python B组练习——python复习2
一、简介
复习python,参考书《Python编程从入门到实践》,[美]Eric Mathes著。前一部分见专栏——蓝桥杯Python B组练习
这一部分不全,不想写了
二、字典
1.一个简单的字典
来看一个游戏,其中包含一些外星人,这些外星人的颜色和点数各不相同。下面是一个简单的字典,存储了有关特定外星人的信息:
alien_0={'color':'green','points':5}
print(alien_0['color'])
print(alien_0['points'])
运行结果:
green
5
2.使用字典
在Python中,字典是一系列键-值对。每个键都与一个值相关联,你可以使用键来访问与之相关联的值。与键相关的值可以是数字、字符串、列表乃至字典。事实上,可将任何Python对象用作字典中的值。
在Python中,字典用放在花括号{}中的一系列键-值对表示,如下:
alien_0={'color':'green','points':5}
键值对是两个相关联的值。指定键是Python将返回与之相关联的值。键和值之间用冒号分隔,而键值对之间用逗号分隔。
1)访问键值对
print(alien_0['color'])
2)添加键值对
alien_0={'color':'green','points':5}
alien_0['x_position']=0
alien_0['y_position']=0
print(alien_0)
运行结果:
{'color': 'green', 'points': 5, 'x_position': 0, 'y_position': 0}
3)先创建一个空字典
有时候,在空字典中添加键值对是为了方便,而有时候必须这样做。
alien_0={}
alien_0['color']='green'
alien_0['points']=5
print(alien_0)
运行结果:
{'color': 'green', 'points': 5}
4)修改字典中的值
alien_0={}
alien_0['color']='green'
alien_0['points']=5
print(alien_0)
alien_0['color']='yellow'
print(alien_0)
运行结果:
{'color': 'green', 'points': 5}
{'color': 'yellow', 'points': 5}
5)删除键值对
对于字典中不再需要的信息,可使用del语句将相应的键值对彻底删除。使用del语句时,必须指定字典名和要删除的键。
alien_0={'color':'green','points':5}
print(alien_0)
del alien_0['points']
print(alien_0)
运行结果:
{'color': 'green', 'points': 5}
{'color': 'green'}
3.遍历字典
1)遍历所有的键值对
user_0 = {
'username':'efermi',
'first':'enrico',
'last':'fermi',
}
for key,value in user_0.items():
print("\nKey:"+key)
print("Value:"+value)
如上所示,编写for循环,可声明两个变量,用于存储键值对中的键和值。对于这两个变量,可使用任何名称。
如:for k,v in user_0.items()
运行结果:
Key:username
Value:efermi
Key:first
Value:enrico
Key:last
Value:fermi
2)遍历字典中的所有键
user_0 = {
'username':'efermi',
'first':'enrico',
'last':'fermi',
}
for k in user_0.keys():
print(k.title())
运行结果:
Username
First
Last
还可以使用keys()确定某个键是否在keys中。
user_0 = {
'username':'efermi',
'first':'enrico',
'last':'fermi',
}
if 'second_name' not in user_0.keys():
方法keys()并非只能用于遍历;实际上,它返回一个列表,其中包含字典中的所有键。
运行结果:
Please take out poll
3)按顺序遍历字典中的所有键
要以特定的顺序返回元素,一种办法是在for循环中返回的键进行排序。为此,可使用函数sorted()来获得按特定顺序排序的键列表的副本:
user_0 = {
'username':'efermi',
'first':'enrico',
'last':'fermi',
}
for k in sorted(user_0.keys()):
print(k.title())
运行结果:
First
Last
Username
4)遍历字典中的所有值
如果你感兴趣的主要是字典包含的值,可使用方法values(),它返回一个值列表,而不包含任何键。
user_0 = {
'username':'efermi',
'first':'enrico',
'last':'fermi',
}
for v in user_0.values():
print(v.title())
运行结果:
Efermi
Enrico
Fermi
这样的做法提取字典的所有值,而没有考虑是否重复。为剔除重复项,可使用集合(setÿ