为了账号安全,请及时绑定邮箱和手机立即绑定

给有C或C++基础的Python入门 :Python Crash Course 4 操作列表 4.1--4.3

标签:
C++

操作列表,也就是遍历列表。本章我们要学的就是如何遍历列表。

 

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

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消