Python笔记(3)——列表二:操作列表(Python编程:从入门到实践)
一、遍历列表
1. 遍历整个列表:使用for循环
1 colors=['red','yellow','blue','green'] #定义列表
2 for color in colors: #使用循环:从列表中提取一个元素并将其存在变量i中
3 print(color) #打印变量i的值
以上代码运行的结果是:

2.for 循环中的缩进与结束后操作
1 colors=['red','yellow','blue','green']
2 for color in colors:
3 print(color.title()+"是我最喜欢的颜色。")
4 print("但"+color.upper()+"是他最讨厌的颜色。\n")
5 print("这条语句不在循环内,只在循环结束后执行一次")
以上代码运行的结果是:

二、创建数值列表
1.函数 range()介绍
可用Python函数range()让成一系列的数字。函数range()让Python指定的第一个值开始数,并在到达指定的第二个值后停止,输出不包含第二个值。
1 for value_1 in range(2,7): #使用循环遍历range(2,7)的整数
2 print (value_1)
以上代码运行的结果是:

2.创建数值列表
要创建数字列表,可使用函数list()将range()的结果直接转换为列表。如果将range()作为list()的参数,输出将为一个数字列表。使用函数range()时,还可指定步长。【range(a,b,c)】a为开始元素,b为结束元素(不包含b),c为步长。
列表解析:将for循环和创建新元素的代码合并成一行,并自动附加新元素。用法:首先指定一个描述性的列表名,如Sa;然后指定一个左方括号,并定义一个表达式,用于生成你要存储到列表中的值。在下面20-24行代码中,表达式为a**2,它计算平方值。接下来,编写一个for循环,用于给表达式提供值,再加上右方括号。在下面示例中,for循环为for value in range(1,11),它将值1~10提供给表达式value**2。请注意,这里的for语句末尾没有冒号。
1 print('创建数字列表')
2 num=list(range(10,15)) #创建num列表,将range()的结果直接转换为列表。此处range()作为列表的参数,运行后输出一个数字列表
3 print(num)
4
5 print('\n指定range()的步长')
6 num1=list(range(10,15,2)) #从10开始,到15(不包括15),步长为2
7 print(num1)
8
9 print("\n练习:创建一个包含前十个整数的平方列表")
10 As=[] #新建空列表
11 for a in range(1,11): #使用range()函数创建数字1~10,并将其保存在变量a中
12 A=a**2 #计算当前循环值得平方
13 As.append(A) #使用append()方法将当前平方值添加到列表中
14 print(As) #循环结束后,打印列表。
15
16 print("\n练习的简介代码")
17 S=[]
18 for i in range(1,11):
19 S.append(i**2)
20 print(S)
21
22 print("\n列表解析例子:将练习代码合成一行")
23 Sa=[a**2 for a in range(1,11)]
24 print(Sa)
以上代码运行的结果是:

3.数字列表简单统计计算
min()函数:返回数字列表最小值
max()函数:返回数字列表最大值
sum()函数:对数字列表元素求和
1 D=[10,20,30,40,50,60,70,80,90,0]
2 print(min(D))
3 print(max(D))
4 print(sum(D))
以上代码运行的结果是:

三、使用列表的一部分
1. 切片
注意:
①列表切片使用符号是冒号“:”。range()函数使用的是逗号“,”。列表用逗号“,”分隔。
②未指定起始索引,默认从原列表第一个位置,即索引0开始提取元素。
③未指定终止索引,默认提取到列最后一个元素。
④列表中的步长理解:假设原列表为Q=[-20,-10,10,20,30,40,50,60,70,80,90,100,0]切片为Q[3:10:3],则切片从3号索引的20开始,到9号索引位的80,间隔3提取元素组成列表。提取的子集为[50,80]。特别注意,间隔3可理解为从起始索引位开始,向后开始数1~3,要提取每次数到3时该索引位置的元素。
1 alist=[3,'@','pen','book',6,'W','top']
2 print(alist) #打印原列表
3 print("列表的切片返回的是列表,可理解为获取原列表的子集")
4 print(alist[:]) #同样是打印原列表。列表切片使用的符号是冒号【:】,注意range()函数使用的是逗号【,】。列表用逗号【,】分隔
5 print(alist[:3]) #未指定开始索引,从头开始到索引3(不包括索引3位置元素)
6 print(alist[3:]) #未指定终止元素,切片未从索引3位置到列表最后
7 print(alist[0:2]) #提取第1-2个元素
8 print(alist[1:5:2]) #以2未步长,提取从第2个开始到第5个元素,即索引4位置元素。注意步长
9 print(alist[1::2]) #以2为步长,提取从第2个开始到列表最后的元素
10 print(alist[-3:]) #提取倒数第三位至最后的元素
11 print(alist[2:-2]) #提取从第三位到倒数第二位之间的元素
以上代码运行的结果是:

2. 遍历切片
要遍历列表的部分元素,可在for循环中使用切片。下面的例子将遍历前三个元素并将其打印出来。
1 print("代码1:")
2 alist=[3,'@','pen','book',6,'W','top']
3 AA=alist[0:3]
4 for a in AA:
5 print(a)
6
7 print("\n代码2:")
8 alist_1=[3,'@','pen','book',6,'W','top']
9 for a in alist_1[:3]:
10 print(a)
以上代码运行结果是:
使用列表解析不能得到上面要求的结果:
1 print("\n'代码3:列表解析'不能得到提取前三个元素并将其打印的结果,因为列表解析得到的是列表")
2 alist_2=[3,'@','pen','book',6,'W','top']
3 a=[i for i in alist_2[:3]]
4 print(a)
以上代码运行的结果是:
Python笔记(3)——列表二:操作列表(Python编程:从入门到实践)的更多相关文章
- 学习Python笔记---操作列表
1.for循环: 编写for循环时,对于用语存储列表中每个值的临时变量,可指定任何名称. 在for循环中,想包含多少行代码都可以,每个缩进的代码行都是循环的一部分,且将针对列表中的每个值都执行一次. ...
- Python笔记25-----------创建二维列表【浅copy】和转置
一.创建二维列表 1.二维列表创建第二维的时候,如果采用*2这种方式,这是一种浅复制的方式,同时引用到同一个list,如上图的C. 这种形式,不方便修改C[ i ][ j ]的数据,如果改C[ 0 ] ...
- Python编程从入门到实践笔记——操作列表
Python编程从入门到实践笔记——操作列表 #coding=utf-8 magicians = ['alice','david','carolina'] #遍历整个列表 for magician i ...
- Python编程从入门到实践笔记——列表简介
Python编程从入门到实践笔记——列表简介 #coding=utf-8 #列表——我的理解等于C语言和Java中的数组 bicycles = ["trek","cann ...
- 在Python中使用lambda高效操作列表的教程
在Python中使用lambda高效操作列表的教程 这篇文章主要介绍了在Python中使用lambda高效操作列表的教程,结合了包括map.filter.reduce.sorted等函数,需要的朋友可 ...
- 《python编程从入门到实践》读书实践笔记(二)
本文是<python编程从入门到实践>读书实践笔记11章的内容,主要包含测试,为体现测试的重要性,独立成文. 11 测试代码 写在前面的话,以下是我这些年开发中和测试相关的血泪史. 对于一 ...
- Python编程从入门到实践笔记——用户输入和while循环
Python编程从入门到实践笔记——用户输入和while循环 #coding=utf-8 #函数input()让程序暂停运行,等待用户输入一些文本.得到用户的输入以后将其存储在一个变量中,方便后续使用 ...
- Python编程从入门到实践笔记——if语句
Python编程从入门到实践笔记——if语句 #coding=utf-8 cars=['bwm','audi','toyota','subaru','maserati'] bicycles = [&q ...
- #Python编程从入门到实践#第四章笔记
#Python编程从入门到实践#第四章笔记 操作列表 1.遍历列表 使用for循环,遍历values列表 for value in values: print(value) 2.数字列表 使 ...
- 《python编程从入门到实践》读书实践笔记(一)
本文是<python编程从入门到实践>读书实践笔记1~10章的内容,主要包含安装.基础类型.函数.类.文件读写及异常的内容. 1 起步 1.1 搭建环境 1.1.1 Python 版本选择 ...
随机推荐
- MySQL 5.7升级8.0过程(详解)
记一次MySQL 5.7升级8.0的详细过程,聊聊我的思路,希望可以帮助大家. 以一个例子为切入点 一.升级背景 为什么要升级到MySQL8.0?大概多久进行一次? 大家可以参考下图记录的各个版本的发 ...
- SQL Server 机器学习服务-概述与实战(转)
原帖地址:https://d-bi.gitee.io/sqlserver-ml-services/ 新年第一篇,去旧迎新.本文内容,既旧也新.旧之处在于,SQL Server 机器学习服务是微软在SQ ...
- unity shader ide
Shader Languages support for vs Code https://marketplace.visualstudio.com/items?itemName=slevesque.s ...
- linux内核源码编译加制作rpm包
本章主要讲解实际操作步骤,具体理论知识可以自行百度 linux内核官网下载:https://cdn.kernel.org/pub/linux/kernel/ (如图) 根据官网发布的信息分析,目前 ...
- 使用CMD创建任意文件
C:\>fsutil file createnew 用法 : fsutil file createnew <文件名> <长度> 范例:fsutil file create ...
- while跟if循环
While(表达式)//循环,达成括号里的条件,一直循环执行里面的程序直到得出的值不成立后退出循环 { 循环体} 几个练习题: using System; namespace while练习2 { c ...
- 信息安全day1
课程目标:中小型网络建立.操作和故障排除,连接到WAN和实施网络安全 路由器三层协议功能 多层交换机具备三层协议的功能 终端服务器:特殊的路由器 网云:1.未知网络区域 2.不受自己管理的网络区域 A ...
- python实现图片转PDF
import os from PIL import Image from reportlab.pdfgen import canvas def image_resize(img, width, hei ...
- DDD(二)聚合、聚合根、领域服务、应用服务、仓储”和“工作单元”、领域事件、集成事件
DDD(二)聚合.聚合根.领域服务.应用服务.仓储"和"工作单元".领域事件.集成事件 如果觉得样式不好:跳转即可 http://www.lifengying.site/ ...
- Qt的QString转换问题
之前是写C#的,涉及类型转换要么是强转,类似(String)这样,要么是用Converter提供的转换方法,但是今天开发qt界面的时候,使用(QString)强转int类型的时候出现了乱码: 后来研究 ...

