列表(List)操作(二)
遍历整个列表 (这么命名有助于理解)
>>> players=['messi','ronaldo','xavi','pique']
>>> for player in players:
... print(player)
...
messi
ronaldo
xavi
pique
更多操作:
>>> for player in players:
... print(player.title()+" is a good player!")
...
Messi is a good player!
Ronaldo is a good player!
Xavi is a good player!
Pique is a good player!
创建数值列表
>>> for a in range(1,10):
... print(a)
...
1
2
3
4
5
6
7
8
9 #注意,这里没有输出到10
创建数字列表
>>> a=list(range(1,11))
>>> a
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
使用range()几乎可以创建任何所需的数字集
>>> squares=[]
>>> for a in range(1,11):
... b=a*a
... squares.append(b)
...
>>> squares
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
另法:
>>> sq=[value**2 for value in range(1,11)]
>>> sq
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
补充:
表示a的平方:a**2 其他次幂便可以以此类推
对数字列表执行简单的统计计算:
>>> k=list(range(1,11))
>>> k
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> min(k)
1
>>> max(k)
10
>>> sum(k)
55
使用列表的一部分——切片
>>> sq
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
>>> print(sq[0:4]) #输出0,1,2,3号元素
[1, 4, 9, 16]>>> print(sq[4:]) #让切片终止于列表末尾
[25, 36, 49, 64, 81, 100]>>> print(sq[-3:])
[64, 81, 100]
遍历切片(的部分元素)
>>> for a in sq[0:5]:
... print(a)
...
1
4
9
16
25
复制切片 (注意:不能直接把一个列表赋值给一个变量,需要通过切片)
>>> sq
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
>>> sq2=sq[1:5]
>>> sq2
[4, 9, 16, 25]
元组
有时候你需要创建一系列不可修改的元素,元组可以满足这种需求
python将不能修改的值成为不可变的,而不可变的列表被称为元组
注意:元组使用圆括号哦
>>> d=(1,2,3,4,5)
>>> d
(1, 2, 3, 4, 5)
>>> d[0]
1
>>> d[0]=2 #强行修改元组的元素,解释器会报错
Traceback (most recent call last):File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
如果需要修改元组,可以重新定义整个元组
也可以先强制转为list,修改后在转回来
>>> a=(1,2,3,4,5)
>>> list(a)
[1, 2, 3, 4, 5]
>>> a
(1, 2, 3, 4, 5) #可见a并没有真的变成list>>> b=list(a)
>>> b
[1, 2, 3, 4, 5]
>>> b[4]=10
>>> b
[1, 2, 3, 4, 10]
>>> a=tuple(b)
>>> a
(1, 2, 3, 4, 10)