自学Python:第4篇——列表(二)

列表(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 "", line 1, in 
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)















你可能感兴趣的:(python,python3,自学,python教程,Python基础)