1、遍历整个列表
1.1、使用for循环
对列表中的每个元素都执行相同的操作,这就需要使用到for循环。
例:运用fou循环,把列表中的元素依次打印出来
citys=['beijing','jiangxi','chongqing']
for city in citys:
print(city)
输出很简单,就是列表中所有的元素:
beijing
jiangxi
chongqing
1.1.1、深入研究for循环
- 在for循环中,想包含多条语句都可以,只需要注意每行的缩进,在for循环中的语句它都是有缩进的,看上述的例子,for循环里的print()相对于for的那一行明显缩进去了几格。
- 在for循环后面, 没有缩进的代码都只执行一次,不会重复执行。也就是说没有缩进的代码不会加入到for循环当中。
注:写for语句末尾的冒号不要忘记写,否则会报错
2、创建数值列表
在创建数值了列表当中,使用range()函数:是用来生成指定范围数字的内置函数。
例:使用range()函数来打印数
for shu in range(1,3)
print(shu)
上述代码会打印出1~3之间的数,但不会打印3:
1
2
注:range()函数返回具有惰性求值特点,其中包含左闭右开区间
2.1、range()语法格式:
range([start,] end [,step])
- range(stop)
- range(start,stop)
- range(start,stop,step)
其中:“start”表示的是开始值,默认为0;“stop”表示的是结束值;“step”表示的为步长,默认为1。
2.2、使用range()创建数值列表
shus=list(range(1,10))
print(shus)
[1, 2, 3, 4, 5, 6, 7, 8, 9]
2.2.1、创建任意列表数值集合
例:如何创建一个列表,其中包含前十个整数(1~10)的平方呢?如下:
shus=[] #先创建一个空列表shus
for v in range(1,11): #因为range()函数是左闭右开,想要1~10,终值就要为20
shu=v**2 #计算range里每个数的平方
shus.append(shu) #把新得到的数追加到shus列表后
print(shus) #打印shus列表
结果如下:
[1,4,9,16,25,36,49,,64,81,100]
为了让代码更简洁,可不使用临时变量shu,而是直接将计算得到的每个值追加到列表末尾:
shus=[]
for v in range(1,11):
shus.append(v**2)
print(shus)
这代码运行的结果和如上一样。
2.3、对数值列表执行简单的统计计算
下为计算数值函数,最大值、最小值、总和
max()最大值、min()最小值、sum()求和
3、列表的推导式
前面介绍生成shus列表的方式包含三四行代码,而列表推导式只需编写一行代码就能生成如上一样的列表;列表推导式是将for循环和创建新元素的代码合并成一行,并自动追加元素。
下面的实例运用列表推导式创建平方数列表:
shus=[v**2 for v in range(1,11)]
print(shus)
结果和上述一样。
列表推导式的格式:
创建列表的变量名=[定义一个表达式 for循环(用于给表达式提供值)]
4、列表的切片
处理列表的部分元素,在Python中称为切片。
复制列表一定要用到切片
4.1、切片的定义
要创建切片,可指定要使用的第一个元素的索引和最后一个元素的索引。和range()函数一样,也取不到最后终止的元素,也属于左闭右开。
切片格式和range()格式几乎相同,如下
print(列表的变名量[①: ②: ③])
①为开始值,②为终止值,③为步长;如果没用指定①,则自动从列表开头开始,若是①为负数则是从列表末尾开始;如果没用指定②,就是要让切片终止于列表末尾。
注:要是值不写,冒号不可删除
例:
shus=list(range(1,5))
print(shus)
print(shus[1:3])
print(shus[2:]) #从下标为1的元素到末尾
print(shus[:3]) #从开头到下标为3的元素
print(shus[-2:]) #第一个指定的数为负数,则在列表的尾部开始,-1为倒数第一的数,-2为倒数第二的数,以此类推
print(shus[:]) #同时省略开始和结束索引,则起始于第一个元素,结束于最后一个元素,即为复制整个列表
结果为下:
[1, 2, 3, 4]
[2, 3]
[3, 4]
[1, 2, 3]
[3, 4]
[1, 2, 3, 4]
5、元组
Python将不能修改的值称为不可变的,而不可变的列表称为元组。
5.1、定义元组
元组看起来很像列表,但是元组是使用圆括号而列表是使用中括号来标识的。
dime=(200,100) #元组
print(dime[0])
print(dime[1])
ste=[200,100] #列表
print(ste[0])
print(ste[1])
使用的语法与访问列表元素时使用的语法相同:
元组结果:
200
100列表结果:
200
100
注:如果要定义只包含一个元素的元组,必须在这个元素后面加上逗号。例:dime=(3,)。
5.2、遍历元组
遍历元组与遍历列表的方式相同:
dimes=(100,200)
for dime in dimes:
print(dime)
像遍历列表时一样,Python返回元组中的所有元素:
100
200
5.3、修改元组变量
虽然不能修改元组的元素,但可以给表示元组的变量赋值。
dimes=(100,200)
print('先前元组元素:')
for dime in dimes:
print(dime)
dimes=(300,400)
print('新的元组元素:')
for dime in dimes:
print(dime)
Python没有出错,因为给元组变量重新赋值是合法的
先前元组元素:
100
200
新的元组元素:
300
400
如果需要存储一组在程序的整个生命周期都不变的值,就可以使用元组。