三.操作列表
①遍历整个列表
在python中可以使用for循环来遍历整个列表。对列表中的每个元素,都将执行循环特定的步骤。循环中使用的临时变量最好有一定意义和关联,这样会便于阅读。
在for循环中,不要忘记冒号,冒号后缩进的句子就是每一次循环应执行的句子。
novels=['fun','positive','value']
for novel in novels:
print(novel.title()+" is a good book!")
print("I strongly recommend "+novel.title()+".\n")
输出:
Fun is a good book! I strongly recommend Fun.
Positive is a good book! I strongly recommend Positive.
Value is a good book! I strongly recommend Value.
②避免缩进错误
不要忘记缩进,也不要忘记缩进额外的代码块。
记得避免不必要的缩进。尤其是在使用循环的时候。
③创建数值列表
函数range()让你能够轻松地生成一系列数字。函数range()让Python从你指定的第一个值开始数,并在到达你指定的第二个值后停止,因此输出不包含第二个值。
for value in range(1,4):
print(value)
输出:
1
2
3
要创建数字列表,可使用函数list()将range()的结果直接转换为列表。
numbers=list(range(1,5))
print(numbers)
输出:
[1,2,3,4]
使用函数range()时,还可指定步长。如:
even_numbers=list(range(2,11,2))
print(even_numbers)
输出:
[2,4,6,8]
有几个专门用于处理数字列表的Python函数:
>>>digits=[1,2,3,4,5,6,7,8,9,0]
>>>min(digits)
0
>>>max(digits)
9
>>>sum(digits)
45
列表解析将fpr循环和创建新元素的代码合并成一行,并自动附加新元素。
squares=[value**2 for value in range(1,11)]
print(squares)
要注意这里的for后面没有冒号。
④使用列表的一部分
处理列表的部分元素——Python称之为切片
要创建切片,可指定要使用的第一个元素和最后一个元素的索引。与函数range()一样,Python在到达你指定的第二个索引前面的元素后停止。
happiness=['fun','positive','value']
print(happiness[0:2])
输出:
['fun','positive']
如果你没有指定第一个索引,Python将自动从开头开始;如果你没有指定第二个索引,Python将到达最后一个元素。
负数索引返回离列表末尾相应距离的元素。
如果要遍历列表的部分元素,可在for循环中使用切片。
要复制列表,可创建一个包含整个列表的切片,方法是同时省略起始索引和终止索引。([:])
my_books=['good','heaven']
friend_books=my_books[:]
my_books.append('bad')
friend_books.append('evil')
print("My books are: "+my_books)
print("My friend's books are: "+friend_books)
输出:
My books are: ['good','heaven','bad']
My friend's books are: ['good','heaven','evil']
简单的使用friend_books=my_books不能达到效果,将输出两次['good','heaven','bad']
⑤元组
列表非常适合用于存储在程序运行期间可能变化的数据集。列表是可以修改的,元组可以满足不可修改的要求。Python将不能修改的值称为不可变的,而不可变的列表被称为元组。
元组使用圆括号而不是方括号来表示。定义元组后,就可以使用索引来访问其元素,就像访问列表元素一样。
像列表一样,也可以使用for循环来遍历元组中的所有值。
元组不可以修改,当试图修改时会报错。虽然不可以修改元组的元素,但可以给存储元组的变量重新赋值。
circle=(1,1,1)
print("original circle: ")
for circle_ele in circle:
print(circle_ele)
circle=(1,1,5)
print("\nModified circle :")
for circle_ele in circle:
print(circle_ele)
输出:
original circle:
1
1
1
Modified circle:
1
1
5
⑥设置代码格式
PEP8建议每级缩进都采用四个空格。
在字处理文档中,常常使用制表符来缩进。混合使用空格和制表符会让Python解释器感到迷惑,需要设置编译器将制表符转换成指定数量的空格。
每行建议不超过72字符。
合理使用空行可以使程序更美观,但不要滥用。Python解释器根据水平缩进的情况来解读代码,但不关心垂直间距。
PEP8:
https://python.org/dev/peps/pep-0008/