首页 > 编程语言 >Python笔记(3)——列表二:操作列表(Python编程:从入门到实践)

Python笔记(3)——列表二:操作列表(Python编程:从入门到实践)

时间:2023-01-09 20:23:21浏览次数:43  
标签:元素 Python 编程 alist 列表 range 循环 print

一、遍历列表

  1. 遍历整个列表:使用for循环

1 colors=['red','yellow','blue','green'] #定义列表
2 for color in colors: #使用循环:从列表中提取一个元素并将其存在变量i中
3     print(color) #打印变量i的值
以上代码运行的结果是:
  执行第1行代码定义列表colors,执行第2行代码;for语句末尾的冒号告诉Python,下一行是循环的第一行。进入第一次循环第2行代码获取列表colors中的第一个值('red'),并将其存储到变量 color 中;接下来执行第3行代码,让Python打印 color 的值'red'。完成第一次循环。   由于列表还包含其他值,Python返回到循环的第一行,即第2行代码,开始第二次循环Python获取列表中的第二个颜色'yellow',并将其存储到变量 color 中,再执行第3行代码,Python再次打印变量 color 的当前的值'yellow',完成第二次循环。   依此类推,直至对列表中的最后一个值'green'进行处理。至此,列表没有其他的值了,Python执行程序的下一行代码。   在这个示例中,for循环后面没有其他的代码,程序就此结束。

  2.for 循环中的缩进与结束后操作

1 colors=['red','yellow','blue','green']
2 for color in colors: 
3     print(color.title()+"是我最喜欢的颜色。") 
4     print("但"+color.upper()+"是他最讨厌的颜色。\n")
5 print("这条语句不在循环内,只在循环结束后执行一次")
以上代码运行的结果是:
  在代码for color in colors后面,每个缩进的代码行都是循环的一部分,且将针对列表中的每个值都执行一次。因此,可对列表中的每个值执行任意次数的操作。由于前两条print语句都缩进了,因此它们都将针对列表中的每个元素执行一次。第二条print语句中的换行符"\n",在每次迭代结束后都插入一个空行从。第3条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. 切片

  创建切片,需使用起始元素和终止元素的索引。列表的切片返回的是列表,可理解为获取原列表的子集。【list[a:b:c]】,a、b、c分别为起始于索引、终止索引及步长(不包括终止位置元素b) 

 注意:

  ①列表切片使用符号是冒号“:”。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,编程,alist,列表,range,循环,print
From: https://www.cnblogs.com/BeiChenAZ-ER/p/17037207.html

相关文章

  • 004 python 程序运行日志使用方法
    导入包importlogging.handlersimportdatetimelogger=logging.getLogger("log")日志目录查找并创建ifos.path.isdir('log'):print("当前目录下存在log文......
  • 003 python一个整数或byte数据转为十六进制字符串不带0x
    把一个byte数据转化为字符,例如byte数据为05,要转换为十六进制字符串hexstr,不带0xd=5hs=((str(hex(d)))[2:]).zfill(2)如上,hs为转换后的字符串。原理就是先用hex转化......
  • C#高级编程1
    C#高级编程1            抽象类和接口抽象类抽象类是包含抽象方法的类;抽象方法只有方法声明,没有方法体;抽象类和抽象方法用关键字abst......
  • Python
    一、Python特点:1、跨平台程序设计语言。2、解释型编程语言,没有编译环节。3、交互式编程语言(可以在命令提示符中编写代码)。4、面向对象编程语言。  二、搭建开发......
  • Python浅拷贝和深拷贝
    预备知识对象的三个属性python中每一个对象都有三个属性:唯一标志,类型和值。其中对象的标志是一串数字,是每个对象的唯一标识,位于同一地址的对象标志相同。对象的值相等和......
  • 聊聊VSCode中Snippet插件的使用(提高编程效率)
    本文介绍的是 VSCode Snippet插件,一种代码片段配置插件,可以节省你写样板代码的时间。你可能之前学习过VSCodeSnippet插件,知道它的作用也学习了配置的语法,但是你想......
  • 用python处理html代码的转义与还原-转
    本篇博客来源:用python处理html代码的转义与还原&#x27;&amp;&lt;&gt;&quot;&#x27;等特殊字符摘要:html转义:importhtml#字符串转义str="<tag>aaa</tag>"str_out=......
  • Redis-数据结构与对象-压缩列表
    压缩列表当一个列表键只包含少量列表项,并且每个列表项要么就是小整数值,要么就是长度比较短的字符串,那么Redis就会使用压缩列表(ziplist)来做列表键的底层实现。当一......
  • Python经典开源项目
    Python-100-Days项目地址:https://github.com/jackfrued/Python-100-DaysPython-100-Days就是我上面说的“保姆级”教程,他的内容面面俱到包括了Python开发的方方面面,......
  • Socket爬虫:Python版
    简述:较为底层的爬虫实现,用于了解爬虫底层实现的具体流程,现在各种好用的爬虫库(如requests,httpx...等)都是基于此进行封装的。PS:本文只作为实现请求的代码记录,基础部分不做过......