python入門學習:3.操作列表
python入門學習:3.操作列表
關鍵點:列表
3.1 遍歷整個列表3.2 建立數值列表3.3 使用列表3.4 元組
3.1 遍歷整個列表
迴圈這種概念很重要,因為它是計算機自動完成重複工作的常見方式之一。下面使用for迴圈來遍歷。
注意for迴圈的迴圈體可以包含多行程式碼,只需要保持縮排即可
1magicians = ['alice','david','carolina']
2for magician in magicians: #依次遍歷magicians 將其值存入magician
3 print(magician)
4#列印值
5alice
6david
7carolina
3.2 建立數值列表
3.2.1 使用函式range()
python函式range()讓你能夠輕鬆的生成一系列數字。例如:
1for value in range(1,5): #生成一個從1開始到5結束的一個列表
2 print(value)
31
42
53
64
3.2.2 使用函式range()建立數字列表
要建立數字列表,可使用函式list()將range()的結果直接轉換為列表。如果將range()作為list()的引數,輸出將為一個數字列表。
1numbers = list(range(1,6))
2print(numbers)
3
4[1, 2, 3, 4, 5]
range()函式還可以指定步長。
1numbers = list(range(2,11,2)) #生成從2~11的數字列表,步長為2
2print(numbers)
3[2, 4, 6, 8, 10]
建立1~10的平方
1squares = [] #建立一個空列表
2for value in range(1,11): #依次建立1~10
3 square = value**2 #value*value
4 squares.append(square) #新增到列表
5print(squares)
6
7[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
3.2.3 對數字列表進行統計計算
計算最大值和最小值以及求和:
1digits = [1,2,3,4,5,6,7,8,9,0]
2min(digits)
30
4max(digits)
59
6sum(digits)
745
3.2.4 列表解析
前面介紹的生成列表的方式包含三四行程式碼,而列表解析讓你只需要編寫一行程式碼就可以生成同樣的程式碼。列表解析將for迴圈和建立新元素的程式碼合併成一行,並自動附加新元素。
1squares = [value**2 for value in range(1,11)]
2print(squares)
3
在這個示例中,表示式為value**2,它計算平方值。接下來編寫一個for迴圈,用於給表示式提供值,再加上右括號。注意,這裡的for迴圈不加冒號
3.3 使用列表
3.3.1 切片
處理列表的部分元素,python稱之為切片。要建立切片,可指定要使用的第一個元素的索引和最後一個元素的索引加1。
1players = ['charles','martina','florence','eli']
2print(players[0:3])
3
4['charles', 'martina', 'florence']
如果沒有指出第一個索引,python將自動從列表開頭開始提取
1players = ['charles','martina','florence','eli']
2print(players[:3])
3['charles', 'martina', 'florence']
終止列表末尾索引也可以省略
1players = ['charles','martina','florence','eli']
2print(players[2:])
3.3.2 遍歷切片
如果要遍歷列表的部分元素,可在for迴圈中使用切片。
1players = ['charles','martina','florence','eli']
2for player in players[:3]:
3 print(player.title())
3.3.3 複製列表
複製列表,可建立一個包含整個列表的切片,方法是同時省略起始索引和終止索引([:])
1my_foods = ['pizza','falafel','carrot cake']
2friend_foods = my_foods[:] #兩份獨立的列表,修改其中任意一個,對另外一個沒有影響
3friend_foods = my_foods #將my_foods賦值給friend_foods,兩個變數指向同一列表
4print(friend_foods)
3.4 元組
python將不能修改的值稱為不可變的,不可變的列表稱為元組。
3.4.1 定義元組
元組看起來猶如列表,但使用圓括號而不是方括號來標識。定義元組後,就可以使用索引來訪問其元素,就像訪問列表元素一樣。
1dimensions = (200,50)
2print(dimensions[0])
3print(dimensions[1])
3.4.2 遍歷元組中的所有值
通過for迴圈來遍歷元組中所有值
1dimensions = (200,50)
2for dimension in dimensions:
3 print(dimension)
3.4.3 修改元組變數
雖然不能修改元組的元素,但可以給儲存元組的變數賦值。
1dimensions = (200,50)
2print("Original dimensions:")
3for dimension in dimensions:
4 print(dimension)
5dimensions = (400,50) #重新定義元組的值
6print("\nModified dimensions:")
7for dimension in dimensions:
8 print(dimension)