操作列表
遍历列表
names=['Rick','James','Ronaldo']
for name in names:
print(name)
'''
结果:
Rick
James
Ronaldo
'''
for循环
for name in names:
类似于代表只要name
在列表names
范围内,就执行循环体中的操作,这里的name
也可以起其他名字。在代码前加缩进用来表示循环体,只要在for
语句之后带缩进的代码都是循环体执行的代码。
下面是一个循环里面执行多条语句的例子。
names=['Rick','James','Ronaldo']
for name in names:
print(name)
print("Thank you very much!\n")
'''
Rick
Thank you very much!
James
Thank you very much!
Ronaldo
Thank you very much!
'''
一些需要注意的常见错误:
- 忘记对循环体内的语句进行缩进;
- 对非循环体内的语句进行了多的缩进;
- for语句末尾遗漏冒号。
数值列表
range()
函数
生成一系列数字。在括号里面可以写三个参数,前两个数字构成一个区间,函数可以生成这两个数字构成的左闭右开区间里面的整数,比如range(1,5)
就是生成1、2、3、4这四个数字,最后一个参数表示步长,如range(1,10,2)
就可以生成1、3、5、7、9。
用range()
函数创建数字列表
创建两个列表并打印他们,一个包含数字1-10,一个包含数字1-10的平方。
numbers=list(range(1,11)) #用list()和range()生成列表
print(numbers)
squares=[]
for number in range(1,11):
squares.append(number**2)
print(squares)
'''
结果:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
'''
对数值列表进行简单的统计计算
三个关于统计的函数:
函数名 | 用途 |
---|---|
min() | 找出最小值 |
max() | 找出最大值 |
sum() | 对该列表求和 |
numbers=list(range(1,11))
print(str(min(numbers))+','+str(max(numbers))+','+str(sum(numbers)))
#结果:1,10,55
列表解析
这是一种比较简单的创建列表的方法,仅需一行代码即可实现,运用了for循环和range()
函数。
squares=[number**2 for number in range(1,11)]
这句代码就是列表解析,他的功能就是number
在1-11时将number
的平方都加入到列表square
中。
使用列表的一部分
切片
以列表name=['Rick','Ronaldo','Messi','Jenny','Amy']
为例。
name[0:3]
表示Rick,、Ronaldo、 Messi。(左闭右开区间)
name[:3]
与上一行相同。
name[3:]
表示Jenny和Amy。
name[-3:]
表示Messi、Jenny和Amy。
复制列表
如果单纯用列表1=列表2
不能实现列表的完全复制,这个语句只是让两个变量都指向同一个列表,用切片来进行列表的复制则不会有这个问题。
可以用一段代码来验证。
names1=['Rick','Ronaldo','Messi','Jenny','Amy']
names2=names1 #列表1=列表2的复制方式
names3=names1[:] #使用切片的复制方式
names1.append('Pablo')
names2.append('Marry')
names3.append('Marry')
print(names1)
print(names2)
print(names3)
'''
结果:
['Rick', 'Ronaldo', 'Messi', 'Jenny', 'Amy', 'Pablo', 'Marry']
['Rick', 'Ronaldo', 'Messi', 'Jenny', 'Amy', 'Pablo', 'Marry']
['Rick', 'Ronaldo', 'Messi', 'Jenny', 'Amy', 'Marry']
'''
元组
不可变的列表即是元组,元组里面的元素都是不可修改的。
定义元组
定义元组的时候使用的是小括号,例如yz=(1,2,3,4,5,6)
。
访问元组中的元素与访问列表中元素相似,也是用元组变量名[索引]
的方式。
当有修改元组中元素的操作时,会报错。
遍历元组元素和修改元组变量
遍历元组与遍历列表相似,而要修改元组中的元素只能对整个元组进行重新定义,示例如下。
yz=(1,2,3,4,5,6)
for i in yz: #遍历
print(i)
yz=(2,4,6) #修改
print(yz)