一 、遍历列表
1.遍历整个列表:使用for循环
执行第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)
以上代码运行的结果是:
声明:本站所有文章 ,如无特殊说明或标注 ,均为本站原创发布 。任何个人或组织 ,在未征得本站同意时 ,禁止复制 、盗用 、采集 、发布本站内容到任何网站 、书籍等各类媒体平台 。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。