跳轉到

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