操作列表
4.1 遍历整个列表
4.1.1 深入研究循环
循环这种概念很重要,因为它是计算机自动完成重复工作的常见方式之一。
python中可以使用for循环来实现。
例如:
lists = [1,7,4,3,2,4,5]
for list in lists:
print(list)
输出:
1
7
4
3
2
4
5
解释
for list in lists: 这行代码是让Python获取列表lists中的第一个元素,并储存在变量list中。在执行print(list) ,输出list 的值。
之后在不断重复,知道列表中的元素没有其他值。
4.1.2 在for循环中执行更多的操作
在for循环中,想包含多少行代码都可以。在代码行for后面,每个缩进的代码行都是循环的一部分。
例如:
numbers = [1,2,3,4,5,6]
for number in numbers:
print("the number is " + str(number))
输出:
the number is 1
the number is 2
the number is 3
the number is 4
the number is 5
the number is 6
4.1.3 在for循环结束后执行一些操作
想要结束for循环只需要将相应代码放在for循环后面,且不缩进。
例如:
numbers = [1,2,3,4,5,6]
for number in numbers:
print("the number is " + str(number) )
print("This cycle is over.")
输出:
the number is 1
the number is 2
the number is 3
the number is 4
the number is 5
the number is 6
This cycle is over.
4.2 避免缩进错误
python 会根据缩进来判断代码行与前一个代码行的关系。python 通过使用缩进让代码更加易读。
4.2.1 忘记缩进
对于位于for语句后面且属于循环组成部分的代码行,一定要缩进。如果你忘了,python会提醒你。
例如:(错误代码)
numbers = [1,2,3,4,5,6]
for number in numbers:
print("the number is " + str(number))
python 会给出错误原因
IndentationError:expected an indendted block
4.2.2 忘记缩进额外的代码行
有的时候循环能够运行不会报错,但结果往往出乎人的意料。
人们往往记得for后第一行要缩进,但之后就不记得了。所以,第二行只执行一次。
4.2.3 不必要的缩进
如果你不小心缩进了无需缩进的代码行,python将指出这一点。
IndentationError: unexpected indent
4.2.4 循环后不必要的缩进
如果你小心缩进了因该在循环结束后的代码,这些代码会不断针对每个列表元素重复执行。
4.2.5 遗漏了冒号
for语句末尾的冒号告诉python,下一行是循环的第一行。
如果你不小心遗漏了冒号,将会导致语法错误。因为python不知道你意欲何为。
4.3 创建数值列表
4.3.1 使用range( )函数
python 函数range( )让你能够轻松地生成一系列数字。
例如:
for value in range(1,5):
print(value)
输出:
1
2
3
4
使用range(a,b)函数可是指定第一个值从a开始,到b停止,但是不会输出b。
4.3.2 使用range()创建数字列表
要创建数字列表,可以使用函数 list ( ) 将range()的结果直接转换为列表。如果range()作为list()的参数,输出将为一个数字列表。
例如:
number = list(range(1,6))
print(number)
输出:
[1, 2, 3, 4, 5]
使用range()函数可以指定步长。
例如:(打印1~10内的偶数)
even_numbers = list(range(2,11,2))
print(even_numbers)
输出:
[2, 4, 6, 8, 10]
使用range()几乎能够创建任何需要的数字集。
例如:创建一个列表,其中包含10个整数的平方。
squares = []
for value in range(1,11):
square = value**2
squares.append(square)
print(squares)
输出:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
4.3.3 对数字列表执行简单的统计计算
有几个专门用于处理数字列表的python函数。
min( ) 求列表元素最小值
max( ) 求列表元素最大值
sum( ) 求列表元素的总和
例如:
digits = [1,2,3,4,5,6,7,8]
print(min(digits))
print(max(digits))
print(sum(digits))
输出:
1
8
36
4.3.4 列表解析
前面生成平方数使用了四行代码,而列表解析让你只需编写一行代码就能生成这样列表。
例如:
squares = [value**2 for value in range(1,11)]
print(squares)
输出:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]