给有C或C++基础的Python入门 :Python Crash Course 4 操作列表 4.1--4.3
操作列表,也就是遍历列表。本章我们要学的就是如何遍历列表。
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的更多相关文章
- python入门-python处理csv文件格式相关
python入门-python处理csv文件格式相关 处理 下载的csv格式文件 直接上代码和效果图 import csv from datetime import datetime from mat ...
- 毫无基础的人入门Python,Python入门教程
随着人工智能的发展,Python近两年也是大火,越来越多的人加入到Python学习大军,对于毫无基础的人该如何入门Python呢?这里整理了一些个人经验和Python入门教程供大家参考. 如果你是零基 ...
- 0基础一分钟入门Python
这篇文章面向所有想学python的小伙伴(甚至你从没听过编程),这篇文章将会带你以最快的速度入门python.赶快上车,时间来不及了... 一,下载和安装python 1.下载: 1.1 python ...
- 给有C或C++基础的Python入门 :Python Crash Course 4 操作列表 4.4 -- 4.5
上接前一篇文章. 4.4 使用列表的一部分 一,切片 切边,顾名思义,就是处理列表的部分元素. 我们可以联系一下C++的一段语句:for(int i = 0; i < n-2; ++i) cou ...
- 零基础一分钟入门Python
这篇文章面向所有想学python的小伙伴(甚至你从没听过编程),这篇文章将会带你以最快的速度入门python.赶快上车,时间来不及了... 一,下载和安装python 1.下载: 1.1 python ...
- Python入门学习教程:数据库操作,连接MySql数据库
各位志同道合的同仁可以点击上方关注↑↑↑↑↑↑ 本教程致力于程序员快速掌握Python语言编程. 本文章内容是基于上次课程Python教程:Python教程:连接数据库,对数据进行增删改查操作 和py ...
- 【Python编程:从入门到实践】chapter4 操作列表
chapter4 操作列表 4.1 遍历整个列表 magicians=['alice','david','carolina'] for magician in magicians: print(mag ...
- 毫无基础的人入门Python,Python新手入门教程2
1.6 面向对象和内存分析086.面向对象和面向过程的区别_执行者思维_设计者思维087.对象的进化故事088.类的定义_类和对象的关系089.构造函数__init__090.实例属性_内存分析091 ...
- python入门-python解释器执行
最近由于公司需要,接触了python这门神奇的语言,给我的感觉就是开发快速和代码简洁. 开始还是先罗列一下解释性语言和编译性语言的差别吧0.0! 编译性语言:是在程序运行前,需要专门的一个编译过程 ...
随机推荐
- php回调函数的概念及实例
php提供了两个内置函数call_user_func()和call_user_func_array()提供对回调函数的支持.这两个函数的区别是call_user_func_array是以数组的形式接收 ...
- Gson解决字段为空是报错的问题
json解析有很多工具,这里说的是最常用也是解析速度最快的Gson,Gson是google家出的,有一个缺点就是无法设置null替换, 我们只能手动的批量替换服务器返回的null了,正常的接口定义的时 ...
- git 小乌龟安装教程
一.windows系统安装git 首先下载git for windows客户端http://msysgit.github.io/ 安装过程没什么特别的,不停next就ok了 图太多就不继续了~ ...
- 爬虫(猫眼电影+校花网+github+今日头条+拉钩)
Requests+正则表达式爬取猫眼TOP100榜电影信息 MARK:将信息写入文件解决乱码方法,开启进程池秒爬. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...
- 跨域 jQuery库ajax请求
XMLHttpRequest是原生ajax,缺点是使用起来比较繁琐. jQuery库提供了一组简洁的ajax请求方法. ajax() get() post() 具体使用参考官方API: http:// ...
- Django系列(一)
项目引入静态文件 更改settings.py,为项目下面的每个APP应用,建立静态文件,这里如blog,首先在blog下面建立一个静态文件夹名为statics,注意这里为别名 STATICFILES_ ...
- axios简单使用
介绍 我在使用vue的时候使用到了axios,vue 1.0的版本作者推荐使用vue-resource,到了vue 2.0作者建议使用axios,此篇文章只是我在使用axios时候做的笔记,我遇到的一 ...
- bzoj 5099: [POI2018]Pionek
题解: 还是比较简单的一道题 考虑现在有一个向量,当且仅当下一个向量与它夹角<90度这个向量的模长才会增加 接下来怎么做呢 如果我们去枚举初始向量,向量方向会随着新增向量而变化 随着不断顺时针的 ...
- 【AtCoder】AGC016
A - Shrinking 用每个字母模拟一下就行 #include <bits/stdc++.h> #define fi first #define se second #define ...
- JVM性能参数优化
以上是jdk1.7的默认GC回收器 Java的gc回收的类型主要有几种 UseSerialGC, UseConcMarkSweepGC, UseParNewGC, UseParallelGC, Use ...