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

4.1--4.2 遍历列表

  遍历列表,用for循环。

不同于C++或者C语言的for循环,Python的for循环更容易让人理解。

看一个例子:

 fruits = ['apple', 'banana', 'orange'];
for fruit in fruits:
print("I like " + fruit.title() + ". ");
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()函数时要注意差一行为,也就是如下代码:

 for value in range(1, 5):
print(value) print('\n') for value in range(1, 6):
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()的结果直接转化为列表。

样例如下:

 numbers = list(range(1, 6))
print(numbers) print('\n') even_numbers = list(range(2, 11, 2))
print(even_numbers)

上面的两个样例结果是:[1, 2, 3, 4, 5] 和 [2, 4,  6, 8, 10]。

本质就是将range()得到的值压入栈中。

三,三个用于对列表执行简单统计操作的函数

类似C++中的max, min函数,但是这三个相当与遍历整个列表找到最大,最小以及和的值,功能强大。

样例代码:

 digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
print(min(digits))
print(max(digits))
print(sum(digits))

四,列表解析

代码解析书里的解释是:将for循环和创建新元素的代码合并成一行,并自动附加新元素。

这样会使代码更为简洁。

比如做一个平方数集,普通的代码如下:

 squares = []
for value in range(1, 11):
square = value**2
squares.append(square) print(squares)

或者:

 squares = []
for value in range(2, 11, 2):
squares.append(value**2) print(squares)

如果经过代码解析,直接将for循环和创建步骤结合在一起:

squares = [value**2 for value in range(1, 11)]
print(squares)

非常简洁。但是,作为一个学习C++的人,先value*2 再for循环会感到逻辑紊乱。

                            To be continued...


如有错误,欢迎评论指正!

给有C或C++基础的Python入门 :Python Crash Course 4 操作列表 4.1--4.3的更多相关文章

  1. python入门-python处理csv文件格式相关

    python入门-python处理csv文件格式相关 处理 下载的csv格式文件 直接上代码和效果图 import csv from datetime import datetime from mat ...

  2. 毫无基础的人入门Python,Python入门教程

    随着人工智能的发展,Python近两年也是大火,越来越多的人加入到Python学习大军,对于毫无基础的人该如何入门Python呢?这里整理了一些个人经验和Python入门教程供大家参考. 如果你是零基 ...

  3. 0基础一分钟入门Python

    这篇文章面向所有想学python的小伙伴(甚至你从没听过编程),这篇文章将会带你以最快的速度入门python.赶快上车,时间来不及了... 一,下载和安装python 1.下载: 1.1 python ...

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

    上接前一篇文章. 4.4 使用列表的一部分 一,切片 切边,顾名思义,就是处理列表的部分元素. 我们可以联系一下C++的一段语句:for(int i = 0; i < n-2; ++i) cou ...

  5. 零基础一分钟入门Python

    这篇文章面向所有想学python的小伙伴(甚至你从没听过编程),这篇文章将会带你以最快的速度入门python.赶快上车,时间来不及了... 一,下载和安装python 1.下载: 1.1 python ...

  6. Python入门学习教程:数据库操作,连接MySql数据库

    各位志同道合的同仁可以点击上方关注↑↑↑↑↑↑ 本教程致力于程序员快速掌握Python语言编程. 本文章内容是基于上次课程Python教程:Python教程:连接数据库,对数据进行增删改查操作 和py ...

  7. 【Python编程:从入门到实践】chapter4 操作列表

    chapter4 操作列表 4.1 遍历整个列表 magicians=['alice','david','carolina'] for magician in magicians: print(mag ...

  8. 毫无基础的人入门Python,Python新手入门教程2

    1.6 面向对象和内存分析086.面向对象和面向过程的区别_执行者思维_设计者思维087.对象的进化故事088.类的定义_类和对象的关系089.构造函数__init__090.实例属性_内存分析091 ...

  9. python入门-python解释器执行

    最近由于公司需要,接触了python这门神奇的语言,给我的感觉就是开发快速和代码简洁. 开始还是先罗列一下解释性语言和编译性语言的差别吧0.0!   编译性语言:是在程序运行前,需要专门的一个编译过程 ...

随机推荐

  1. ubuntu 调整分辨率

    修改 /etc/X11/xorg.conf配置文件即可

  2. 2017-2018-2 20165314实验二《Java面向对象程序设计》实验报告

    实验报告封面 实验一 实验要求 参考 http://www.cnblogs.com/rocedu/p/6371315.html#SECUNITTEST 完成单元测试的学习提交最后三个JUnit测试用例 ...

  3. mysql登录报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

    在MySQL登录时出现Access denied for user 'root'@'localhost' (using password: YES) 拒绝访问 对于出现拒绝访问root用户的解决方案错 ...

  4. Nginx详解十八:Nginx深度学习篇之Rewrite规则

    Rewrite规则可以实现对url的重写,以及重定向 作用场景: 1.URL访问跳转,支持开发设计,如页面跳转,兼容性支持,展示效果等 2.SEO优化 3.维护:后台维护.流量转发等 4.安全 配置语 ...

  5. C++ Primer 笔记——const 限定符

    1.因为const对象一旦创建后其值就不能再改变,所以const对象必须初始化. 2.默认情况下const对象只在文件内有效,如果想在多个文件之间共享const对象,必须在变量的定义之前添加exter ...

  6. Moco使用简单指导

    下载地址 需要java运行环境支持.下载jar包:moco-runner-<version>-standalone.jar 配置文件 下面是参考: 配置 Moco的配置文件格式使用的是js ...

  7. P0505

      算法训练 P0505   时间限制:1.0s   内存限制:256.0MB      一个整数n的阶乘可以写成n!,它表示从1到n这n个整数的乘积.阶乘的增长速度非常快,例如,13!就已经比较大了 ...

  8. Selenium+PhantomJS使用时报错原因及解决方案

    问题 今天在使用selenium+PhantomJS动态抓取网页时,出现如下报错信息: UserWarning: Selenium support for PhantomJS has been dep ...

  9. 使用python调用email模块发送邮件附件

    使用python调用email模块实现附件发送 需要模块: import datetime import time import sys import mimetypes import smtplib ...

  10. 从零开始学C#——不再更新,直接进入高阶教程

    从零开始学习C#不再更新,直接进入高阶教程. 入门教程,请自行谷歌.百度吧,有很多这样的教程. 编程是一件实践性很强的事情,那么接下来的文章将开始进行开发项目. 还在编程中迷茫的人们,先暂时放下一切的 ...