Python - List 介紹

在 Python 中 list 是 Python 中最常用的資料結構之一。list 可以儲存不同資料類型的元素,並支援許多便利的操作。

本文將簡單介紹 Python list 的一些基本用法。

初始化/宣告 list

在 Python 中,list 可以透過以下方式宣告:image 106

1
2
3
4
5
6
# 宣告一個空的 list
empty_list = []

# 宣告一個有元素的 list
list_with_int_elements = [1, 2, 3, 4, 5]
list_with_str_elements = ['apple', 'banana', 'orange']

存取 list 中的元素

list 中的元素可以透過 index 存取,index 從 0 開始。

1
2
3
4
5
6
7
list_with_int_elements = [1, 2, 3, 4, 5]

# 存取第一個元素
print(list_with_int_elements[0]) # 1

# 存取最後一個元素
print(list_with_int_elements[-1]) # 5

list 的長度

list 的長度可以透過 len() 函式取得。

1
2
3
list_with_int_elements = [1, 2, 3, 4, 5]

print(len(list_with_int_elements)) # 5

更改 list 中的元素

list 中的元素可以透過 index 來更改。

1
2
3
4
5
6
list_with_int_elements = [1, 2, 3, 4, 5]

# 更改第一個元素
list_with_int_elements[0] = 10

print(list_with_int_elements) # [10, 2, 3, 4, 5]

刪除 list 中的元素

list 中的元素可以透過 delpop() 還有 remove() 來刪除。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
list_with_int_elements = [1, 2, 3, 4, 5]

# 刪除第一個元素
del list_with_int_elements[0]

print(list_with_int_elements) # [2, 3, 4, 5]

# 刪除最後一個元素
list_with_int_elements.pop()

print(list_with_int_elements) # [2, 3, 4]

# 刪除指定元素

# 刪除 3
list_with_int_elements.remove(3)

print(list_with_int_elements) # [2, 4]

新增元素到 list 中

list 中的元素可以透過 append()insert() 來新增。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
list_with_int_elements = [1, 2, 3, 4, 5]

# 新增元素到最後面

# 新增 6
list_with_int_elements.append(6)

print(list_with_int_elements) # [1, 2, 3, 4, 5, 6]

# 新增元素到指定位置

# 新增 7 到 index 0
list_with_int_elements.insert(0, 7)

print(list_with_int_elements) # [7, 1, 2, 3, 4, 5, 6]

list 的排序

list 中的元素可以透過 sort() 來排序。

1
2
3
4
5
6
7
8
9
10
11
12
list_with_int_elements = [5, 3, 1, 4, 2]

# 由小到大排序
list_with_int_elements.sort()

print(list_with_int_elements) # [1, 2, 3, 4, 5]

# 由大到小排序

list_with_int_elements.sort(reverse=True)

print(list_with_int_elements) # [5, 4, 3, 2, 1]

list 的反轉

list 中的元素可以透過 reverse() 來反轉。

1
2
3
4
5
list_with_int_elements = [1, 2, 3, 4, 5]

list_with_int_elements.reverse()

print(list_with_int_elements) # [5, 4, 3, 2, 1]

list 的搜尋

list 中的元素可以透過 index() 來搜尋。

1
2
3
4
5
list_with_int_elements = [1, 2, 3, 4, 5]

# 搜尋 3 的 index

print(list_with_int_elements.index(3)) # 2

list 的複製

list 中的元素可以透過 copy() 來複製。

1
2
3
4
5
6
7
list_with_int_elements = [1, 2, 3, 4, 5]

# 複製 list

copied_list = list_with_int_elements.copy()

print(copied_list) # [1, 2, 3, 4, 5]

list 的清空

list 中的元素可以透過 clear() 來清空。

1
2
3
4
5
6
list_with_int_elements = [1, 2, 3, 4, 5]

# 清空 list
list_with_int_elements.clear()

print(list_with_int_elements) # []

list 的合併

list 中的元素可以透過 + 來合併。

1
2
3
4
5
6
7
list_with_int_elements = [1, 2, 3, 4, 5]
list_with_str_elements = ['apple', 'banana', 'orange']

# 合併 list
merged_list = list_with_int_elements + list_with_str_elements

print(merged_list) # [1, 2, 3, 4, 5, 'apple', 'banana', 'orange']

list 的迭代

list 中的元素可以透過 for 來迭代。

1
2
3
4
5
list_with_int_elements = [1, 2, 3, 4, 5]

# 迭代 list
for element in list_with_int_elements:
print(element)

list 的切片

list 中的元素可以透過 : 來切片。

1
2
3
4
list_with_int_elements = [1, 2, 3, 4, 5]

# 切片 list
print(list_with_int_elements[1:3]) # [2, 3]

list 的檢查

list 中的元素可以透過 in 來檢查。

1
2
3
4
5
list_with_int_elements = [1, 2, 3, 4, 5]

# 檢查元素是否存在
print(1 in list_with_int_elements) # True
print(6 in list_with_int_elements) # False

list 的串接

list 中的元素可以透過 join() 來串接。

1
2
3
4
list_with_str_elements = ['apple', 'banana', 'orange']

# 串接 list
print(' '.join(list_with_str_elements)) # apple banana orange

list 的計數

list 中的元素可以透過 count() 來計數。

1
2
3
4
list_with_int_elements = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5]

# 計數元素
print(list_with_int_elements.count(1)) # 2

list 的最大值/最小值/總和

list 中的元素可以透過 max()min() 來取得最大值/最小值。

1
2
3
4
5
6
7
8
9
10
list_with_int_elements = [1, 2, 3, 4, 5]

# 取得最大值
print(max(list_with_int_elements)) # 5

# 取得最小值
print(min(list_with_int_elements)) # 1

# 取得總和
print(sum(list_with_int_elements)) # 15

list 的延伸

list 中的元素可以透過 extend() 來延伸。

1
2
3
4
5
6
7
list_with_int_elements = [1, 2, 3, 4, 5]
list_with_str_elements = ['apple', 'banana', 'orange']

# 延伸 list
list_with_int_elements.extend(list_with_str_elements)

print(list_with_int_elements) # [1, 2, 3, 4, 5, 'apple', 'banana', 'orange']

list 的複雜度

list 的複雜度如下:

操作複雜度
存取O(1)
新增O(n)
刪除O(n)
搜尋O(n)

更詳細的複雜度可以參考 Python Wiki

總結

本文簡單介紹了 Python list 的一些基本用法,希望對你有幫助。

也許你也會想看看