列表(List)是Python中最常用的數據類型之一,它是一個有序、可變的元素集合。
1. 列表基礎
創建列表
empty_list = [] # 空列表
numbers = [1, 2, 3, 4, 5] # 數字列表
fruits = ['apple', 'banana', 'orange'] # 字符串列表
mixed = [1, 'hello', 3.14, True] # 混合類型列表
訪問元素
fruits = ['apple', 'banana', 'orange']
print(fruits[0]) # 輸出: 'apple' (索引從0開始)
print(fruits[-1]) # 輸出: 'orange' (負數表示從末尾開始)
2. 列表操作
修改元素
fruits = ['apple', 'banana', 'orange']
fruits[1] = 'pear' # 修改第二個元素
print(fruits) # 輸出: ['apple', 'pear', 'orange']
添加元素
fruits = ['apple', 'banana']
fruits.append('orange') # 在末尾添加
fruits.insert(1, 'pear') # 在指定位置插入
print(fruits) # 輸出: ['apple', 'pear', 'banana', 'orange']
刪除元素
fruits = ['apple', 'pear', 'banana', 'orange']
del fruits[1] # 刪除第二個元素
fruits.remove('banana') # 刪除指定值的元素
popped = fruits.pop() # 刪除并返回最后一個元素
3. 列表方法
常用方法
nums = [1, 2, 3, 4, 5]nums.sort() # 排序(原地修改)
nums.reverse() # 反轉(原地修改)
nums_copy = nums.copy() # 創建副本
count = nums.count(2) # 計算元素出現次數
index = nums.index(3) # 查找元素索引
列表合并
list1 = [1, 2, 3]
list2 = [4, 5, 6]
combined = list1 + list2 # 使用+運算符
list1.extend(list2) # 使用extend方法
4. 列表切片
基本切片
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]print(numbers[2:5]) # 輸出: [2, 3, 4] (索引2到5,不包括5)
print(numbers[:3]) # 輸出: [0, 1, 2] (從開始到索引3)
print(numbers[5:]) # 輸出: [5, 6, 7, 8, 9] (從索引5到末尾)
print(numbers[::2]) # 輸出: [0, 2, 4, 6, 8] (步長為2)
5. 列表推導式
基本語法
# 創建一個0-9的平方列表
squares = [x**2 for x in range(10)]
print(squares) # 輸出: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]# 帶條件的列表推導式
even_squares = [x**2 for x in range(10) if x % 2 == 0]
6. 列表與循環
遍歷列表
fruits = ['apple', 'banana', 'orange']# 直接遍歷元素
for fruit in fruits:print(fruit)# 遍歷索引和元素
for index, fruit in enumerate(fruits):print(f"Index {index}: {fruit}")
7. 注意事項
- 列表是可變的,修改會影響所有引用該列表的變量
- 淺拷貝與深拷貝的區別
- 大列表操作可能消耗較多內存
- 查找操作(in, index)在長列表中較慢
8. 性能提示
- 在開頭插入/刪除元素較慢(使用
collections.deque
替代) - 成員測試(in操作)在集合(set)中更快
- 考慮使用生成器表達式處理大數據