第四章 操作列表
遍歷
var = [1,3,2,4]
for var in var :
print(var)
1
3
2
4
這里用到了for循環(huán),python中的循環(huán)語句不同于C語言(第一門語言學的C,所以遇到的一些差異都是和C做對比)
C語言中for 循環(huán)是這樣的
for(int i=0;i<n,i++){
}
而python中for大多用于遍歷任何序列的項目,如列表,字符串。格式為?

for letter in 'Python':
????print('當前字母 :', letter)
當前字母 : P
當前字母 : y
當前字母 : t
當前字母 : h
當前字母 : o
當前字母 : n
range()
1. 創(chuàng)建列表
var = list (range(1,6))
print(var)
[1, 2, 3, 4, 5]
var = list(range(2,11,2))
print(var)
[2, 4, 6, 8, 10]
range(a,b,c)
從a到b,每個加c
列表解析
這種語法先要指定列表名,這里是var,接著一對方括號,方括號中定義一個表達式value**,用于生成存儲于列表var中的值。接下來是一個for循環(huán),用于給value賦值??梢哉f這個語法是用于簡化代碼。
var = [value**2 for value in range(1, 11)]
print(var)
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
切片
python中處理部分元素稱為切片
var = ['a', 'b', 'c', 'd', 'e']
print(var[1:3])
['b', 'c']
如果沒有指定第一個引索,將自動從列表開頭開始
var = ['a', 'b', 'c', 'd', 'e']
print(var[:3])
['a', 'b', 'c']
相似的也可以從中間提取到末尾
var = ['a', 'b', 'c', 'd', 'e']
print(var[3:])
['d', 'e']
如果需要輸出末尾幾位,只需要加上負號
var = ['a', 'b', 'c', 'd', 'e']
print(var[-3:])
['c', 'd']
負數(shù)的索引值即為離列表末尾相應距離的元素
遍歷切片
在for循環(huán)中使用切片即可遍歷切片
var = ['a', 'b', 'c', 'd', 'e']
for varin var[3:]:
print(var)
d
e
復制列表
復制列表即創(chuàng)建一個新的包含整個切片的列表,只需在方括號中同時省略起始引索值和終止引索值
這里為了更方便的看出是否是新復制的列表,在var_2中新添加了一個元素f
var = ['a', 'b', 'c', 'd', 'e']
var_2 = var[:]
var_2.append('f')
print("var:"+str(var))
print("var_2:"+str(var_2))
var:['a', 'b', 'c', 'd', 'e']
var_2:['a', 'b', 'c', 'd', 'e', 'f']
元組
python將不可變的值稱為元,列表用方括號,元組用圓括號,像列表一樣用引索訪問元素。
var = (12, 20)
var[0] =15
print(var)
像這樣用修改列表元素一樣的方法來修改元組元素,python會返回錯誤
Traceback (most recent call last): File "/Users/dh/PycharmProjects/untitled1/python.py", line 2, in var[0] = 15
TypeError: 'tuple' object does not support item assignment
修改元組變量
想要修改元組里的值要重新定義元組
var = (12, 20)
var = (15, 20)
print(var)
(15, 20)