2.5 串列的基本用法
Python 程式語言非常好上手,以及大量函式庫支援可以減輕程式上的負擔。本篇文章就來統整 Python 程式中常見的使用方法與技巧。這些將會是實戰中常會遇到的問題,例如邏輯控制 (if...else)、迴圈 (for loop)、資料容器中的串列 (List)。
串列 (List)
串列是 Python 中最基本的數據結構。序列中的每個元素都分配一個數字- 它的位置,或索引,第一個索引是0,第二個索引是1,依此類推。
List 插值
myList = [] myList.append('first') print(myList) myList.append('second') print(myList)
['first'] ['first', 'second']
List 查詢位置
尋找元素的索引
myList = ['apple', 'box', 'cat', 'dog'] print('Index: ', myList.index('box'))
Index: 1
List 常見的方法
- len() 回傳長度
- sum() 回傳總和
- max() 回傳最大值
- min() 回傳最小值
myList = [2, 4, 6, 8, 10] print('長度: ', len(myList)) print('總和: ', sum(myList)) print('最大值: ', max(myList)) print('最小值: ', min(myList))
長度: 5 總和: 30 最大值: 10 最小值: 2
List 內建排序
第一種方式是直接呼叫 List 本身的 sort()
函數進行排序,這種方式會直接改變原本的 List 內容。第二種方法使用 sorted()
,他會對元素排序之後,傳回一個排序好的新 List,而原本的 List 則不受影響。
方法一
myList = [33, 22, 41, 12, 6, 4] myList.sort() # 對原本的 List 排序 myList
[4, 6, 12, 22, 33, 41]
方法二
myList = [33, 22, 41, 12, 6, 4] newList = sorted(myList) # 排序並建立新的 List print('myList: ',myList) print('newList:', newList)
myList: [33, 22, 41, 12, 6, 4] newList: [4, 6, 12, 22, 33, 41]
sorted 與 sort 也可以處理文字的排序,預設會依照英文字母的順序排列
List 初始 0
假設我們有長度為 10 的串列,需要將裡面所有值做初始化。
listofzeros = [0] * 10 print(listofzeros)
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
迴圈提取 List 所有元素
假設我們的串列中有 4 個元素,我們想透過迴圈依序地取值。
myList = ['apple', 'box', 'cat', 'dog']
方法一
# 方法ㄧ for i in range(len(myList)): print(i,myList[i])
0 apple 1 box 2 cat 3 dog
方法二
# 方法二 for word in myList: print(word)
apple box cat dog
方法三
# 方法三 for index, word in enumerate(myList, start=0): print(index, word)
0 apple 1 box 2 cat 3 dog