Start from P61
第4章 操作列表
注意:编写for循环中,指定的变量为临时变量
4.3.3 对数字列表执行简单的统计计算
>>>digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
>>>min(digits)
0
>>>max(digits)
9
>>>sum(digits)
45
4.3.4列表解析
squares = [value**2 for value in range(1,11)]
print(squares)
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
4.4.3 复制列表
my_foods = ['pizza', 'falafel', 'carrot cake']
friend_foods = my_foods[:] #从头到尾复制
通过切片来复制列表,直接赋值是行不通的,如下:
friend_foods=my_foods #错误,friend_foods是my_foods的引用
4.5 元组
Python将不能修改的值称为不可变的,而不可变的列表被称为元组。
4.5.3 修改元组变量
虽然不能修改元组的元素,但可以给存储元组的变量赋值。因此,如果要修改前述矩形的尺寸,可重新定义整个元组:
dimensions = (200, 50)
print("Original dimensions:")
for dimension in dimensions:
print(dimension)
dimensions = (400, 100)
print("\nModified dimensions:")
for dimension in dimensions:
print(dimension)
Original dimensions:
200
50
Modified dimensions:
400
100
4.7小结
- 使用for循环遍历列表
- 列表解析,用一条语句创建列表
- 列表复制,使用切片语句复制列表。
- 元组中的元素不可修改,但你可以修改整个元组
第5章 if语句
5.2.6 检查特定值是否包含在列表中
要判断特定的值是否已包含在列表中,可使用关键字in
>>> requested_toppings = ['mushrooms', 'onions', 'pineapple']
>>> 'mushrooms' in requested_toppings
True
>>> 'pepperoni' in requested_toppings
False
5.3.3 if-elif-else 结构
- Python只执行
if-elif-else
结构中的一个代码块 - 它依次检查每个条件测试,直到遇到通过了的条件测试。
- 测试通过后,Python将执行紧跟在它后面的代码,并跳过余下的测试。
- 如果知道最终要测试的条件,应考虑使用一个
elif
代码块来
代替else代码块。这样,你就可以肯定,仅当满足相应的条件时,你的代码才会执行。
总之,如果你只想执行一个代码块,就使用if-elif-else结构;如果要运行多个代码块,就使用一系列独立的if语句。
5.6 小结
- 学习了如何编写简单的
if
语句、if-else
语句和if-elif-else
结构。 - 注意空格,if语句中的空格不影响解释,但影响阅读。
第6章 字典
引言
- 遍历字典中的数据
- 学习存储字典的列表、存储列表的字典和存储字典的字典
6.2.1 访问字典中的值
要获取与键相关联的值,可依次指定字典名和放在方括号内的键。
alien_0 = {'color': 'green'}
print(alien_0['color'])
green
6.2.2 添加键—值对
alien_0 = {'color': 'green', 'points': 5}
print(alien_0)
alien_0['x_position'] = 0 #看这里!
alien_0['y_position'] = 25 #通过赋值来添加!
print(alien_0)
{'color': 'green', 'points': 5}
{'color': 'green', 'points': 5, 'y_position': 25, 'x_position': 0}
6.2.5 删除键—值对
对于字典中不再需要的信息,可使用del
语句将相应的键—值对彻底删除。使用del
语句时,必须指定字典名和要删除的键。
alien_0 = {'color': 'green', 'points': 5}
del alien_0['points']
6.3 遍历字典
可遍历字典的所有键—值对、键或值。
6.3.1 遍历所有的键—值对
user_0 = {
'username': 'efermi',
'first': 'enrico',
'last': 'fermi',
}
for key, value in user_0.items(): #使用item()方法,key,value可随便取名字
print("\nKey: " + key)
print("Value: " + value)
Python不关心键—值对的存储顺序,而只跟踪键和值之间的关联关系。
6.3.2 遍历字典中的所有键
使用方法keys()
遍历字典中所有键
favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}
for name in favorite_languages.keys():
print(name.title())
注:遍历字典时,会默认遍历所有的键,因此,如果将上述代码中的for name in favorite_languages.keys():
替换为for name in favorite_languages:
,输出将不变。
for name in sorted(favorite_languages.keys()): #按顺序遍历键
print(name.title() + ", thank you for taking the poll.")
6.3.4 遍历字典中的所有值
使用方法values()
遍历值
for language in favorite_languages.values():
print(language.title())
为剔除重复项,可使用集合(set)。
集合类似于列表,但每个元素都必须是独一无二的:
for language in set(favorite_languages.values()):
print(language.title())
今天暂时就到这里吧,有点烦了。
End in P112 2017/11/12_16:30
今天是怎么了,有点急,看不进去了。23:46
网友评论