一、Python List – 簡介
Python List 是 Python 內置的一個數據結構。它是一個有序的、可變的、允許重複元素的集合,可通過索引訪問任意元素。
Python List 的特點包括:
1. 可以包含不同類型的元素。
2. 可以進行索引和切片操作,支持負索引。
3. 可以進行增刪改查等操作,是一個非常靈活、方便的數據結構。
我們可以把 Python List 類比成數組,但 Python List 擁有更多更強大的功能,這使得 Python List 可以像動態數組一樣增長和縮小。
下面是一個 Python List 的基本定義和初始化示例:
# 定義一個 Python List example_list = [] # 往 Python List 中添加元素 example_list.append(1) example_list.append(2) example_list.append(3) # 輸出 Python List print(example_list) # [1, 2, 3]
二、Python List – 基本操作
Python List 提供了許多基本操作,例如添加元素、刪除元素、插入元素、排序等等。下面我們就來一一介紹。
1. 添加元素
Python List 提供了三種添加元素的方法:使用 append() 方法往列表末尾添加元素;使用 insert() 方法往列表指定位置添加元素;使用 extend() 方法在列表末尾添加另一個列表的所有元素。
下面是三種方法的示例:
# 使用 append() 往列表末尾添加元素 example_list = [1, 2, 3] example_list.append(4) print(example_list) # [1, 2, 3, 4] # 使用 insert() 往列表指定位置添加元素 example_list = [1, 2, 3] example_list.insert(1, 4) print(example_list) # [1, 4, 2, 3] # 使用 extend() 在列表末尾添加另一個列表的所有元素 example_list = [1, 2, 3] another_list = [4, 5, 6] example_list.extend(another_list) print(example_list) # [1, 2, 3, 4, 5, 6]
2. 刪除元素
Python List 提供了兩種刪除元素的方法:使用 remove() 方法刪除列表中的指定元素;使用 pop() 方法刪除列表中指定索引的元素。
下面是兩種方法的示例:
# 使用 remove() 方法刪除列表中的指定元素 example_list = [1, 2, 3] example_list.remove(2) print(example_list) # [1, 3] # 使用 pop() 方法刪除列表中指定索引的元素 example_list = [1, 2, 3] example_list.pop(1) print(example_list) # [1, 3]
3. 插入元素
Python List 提供了 insert() 方法往列表指定位置插入元素,示例如下:
# 使用 insert() 方法往列表指定位置插入元素 example_list = [1, 2, 3] example_list.insert(1, 4) print(example_list) # [1, 4, 2, 3]
4. 排序
Python List 提供了 sort() 方法對列表進行升序排序,也可以通過傳遞 reverse=True 參數對列表進行降序排序。示例如下:
# 對列表進行升序排序 example_list = [3, 1, 2] example_list.sort() print(example_list) # [1, 2, 3] # 對列表進行降序排序 example_list = [3, 1, 2] example_list.sort(reverse=True) print(example_list) # [3, 2, 1]
三、Python List – 動態數組
Python List 在實現上使用了動態數組的概念。動態數組是一種可以動態增長和縮小的數組,相比於固定長度的數組具有更大的靈活性。
Python List 中的動態數組實現方式是:初始時會分配一定的存儲空間,當元素數量超過該空間時,會自動重新分配更大的存儲空間。這個過程稱為“重新分配”。
由於 Python List 實現了動態數組,因此我們可以在 Python List 中動態存儲數據,而不需要考慮容量限制。這也是 Python List 最為常用的一個功能。
下面是重新分配的示例:
# 初始化空列表,空列表默認分配一定的存儲空間 example_list = [] print(len(example_list)) # 0 print(sys.getsizeof(example_list)) # 56 # 獲得對象的大小 # 不斷向列表中加入元素 for i in range(10000): example_list.append(i) print(len(example_list)) # 10000 print(sys.getsizeof(example_list)) # 90232
在上述示例中,初始化的空列表默認分配了一定的存儲空間,隨着元素數量的增加,Python List 的存儲空間也會動態增長。在元素數量達到了 10000 個時,Python List 已經重新分配了更大的存儲空間,這說明 Python List 已經具備了動態數組的特性。
四、Python List – 總結
Python List 是 Python 內置的一個靈活、方便的數據結構,它提供了多種基本操作,如添加元素、刪除元素、插入元素、排序等等。Python List 還實現了動態數組的概念,使得我們可以像動態數組一樣動態存儲數據。
Python List 的基本操作和動態數組實現方式,使其成為 Python 編程中最常用、最為方便的數據結構之一。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/250881.html