操作列表,也就是遍历列表。本章我们要学的就是如何遍历列表。
4.1--4.2 遍历列表
遍历列表,用for循环。
不同于C++或者C语言的for循环,Python的for循环更容易让人理解。
看一个例子:
1 fruits = ['apple', 'banana', 'orange'];2 for fruit in fruits:3 print("I like " + fruit.title() + ". ");4 print("I really love fruit!");
其语法结构是for + 一个变量(自己定义的,在每次循环的时候从列表依次传递参数到这个变量,如第二行的fruit)+ 列表名(fruits)。
这里要注意的两点:
1. 是在for循环后面,没有缩进的代码都只执行一次,而不会重复执行。这里可以结合C中for循环结构体 ‘{}‘ 理解:
即:Python不同于C++,C++根据{}来代码行和前一个代码行的关系,而Python则根据缩进判断。
2. 是别忘了加冒号!!!,python 的 for循环代码行结束需要加冒号。
4.3 创建数值列表
5个函数:
1. range()。
2. list()。
3. min()。
4. max()。
5. sum()。
一, range()
1.使用range()函数时要注意差一行为,也就是如下代码:
1 for value in range(1, 5):2 print(value)3 4 print('\n')5 6 for value in range(1, 6):7 print(value);
上面代码的意图是依次打印出1到5数字,但是第一个代码只能打印1到4,这是由于编程语言中经常看到的‘’差一行‘’行为。
而第二个代码则达到了意图。
2. 指定range()函数的步长:
代码如下:
for value in range(2, 11, 2): print(value)
意思:for(int i = 2; i < 11; i += 2 ) cout << i << endl; -----学过C++的应该很明白。
二,list()函数
list()函数用于创建数字列表。其将range()的结果直接转化为列表。
样例如下:
1 numbers = list(range(1, 6))2 print(numbers)3 4 print('\n')5 6 even_numbers = list(range(2, 11, 2))7 print(even_numbers)
上面的两个样例结果是:[1, 2, 3, 4, 5] 和 [2, 4, 6, 8, 10]。
本质就是将range()得到的值压入栈中。
三,三个用于对列表执行简单统计操作的函数
类似C++中的max, min函数,但是这三个相当与遍历整个列表找到最大,最小以及和的值,功能强大。
样例代码:
1 digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]2 print(min(digits))3 print(max(digits))4 print(sum(digits))
四,列表解析
代码解析书里的解释是:将for循环和创建新元素的代码合并成一行,并自动附加新元素。
这样会使代码更为简洁。
比如做一个平方数集,普通的代码如下:
1 squares = []2 for value in range(1, 11):3 square = value**24 squares.append(square)5 6 print(squares)
或者:
1 squares = []2 for value in range(2, 11, 2):3 squares.append(value**2)4 5 print(squares)
如果经过代码解析,直接将for循环和创建步骤结合在一起:
squares = [value**2 for value in range(1, 11)]print(squares)
非常简洁。但是,作为一个学习C++的人,先value*2 再for循环会感到逻辑紊乱。
To be continued...
原文出处:https://www.cnblogs.com/mpeter/p/9535255.html
共同学习,写下你的评论
评论加载中...
作者其他优质文章