append() 是 Python 列表最基本、最常用的新增元素方法,用於在列表末尾加入單一物件。理解其原地修改特性、回傳值行為、與 extend() 的差異,是避免常見 Bug 的關鍵。
list.append(obj)
回傳 None,直接修改原列表(原地操作),不建立新列表。
#!/usr/bin/python
aList = [123, 'xyz', 'zara', 'abc']
aList.append(2014)
print("Updated List :", aList)
# 輸出:Updated List : [123, 'xyz', 'zara', 'abc', 2014]
lst = [1, 2, 3]
lst.append(4)
print(lst) # [1, 2, 3, 4]
lst = [1, 2, 3]
new_lst = lst.append(4)
print(new_lst) # None!原列表 lst 已變 [1,2,3,4]
lst = [1, 2, 3]
lst.append([4, 5])
print(lst) # [1, 2, 3, [4, 5]] 變成巢狀列表!
# 若想展開加入,請用 extend()
lst = [1, 2, 3]
lst.extend([4, 5])
print(lst) # [1, 2, 3, 4, 5]
| 方法 | 位置 | 參數 | 效果 | 範例結果 |
|---|---|---|---|---|
| append(x) | 末尾 | 單一物件 | 加入一個元素 | [1,2] + append(3) → [1,2,3] |
| extend(iter) | 末尾 | 可迭代物件 | 展開加入多個 | [1,2] + extend([3,4]) → [1,2,3,4] |
| insert(i, x) | 索引 i 前 | 單一物件 | 指定位置插入 | [1,3] + insert(1,2) → [1,2,3] |
| + / += | 末尾 | 列表 | 合併列表 | [1,2] + [3,4] → [1,2,3,4] (新列表) |
# 收集使用者輸入
inputs = []
while True:
val = input("輸入數字 (q 結束): ")
if val == 'q':
break
inputs.append(int(val))
print(inputs)
stack = []
stack.append(1) # push
stack.append(2)
stack.append(3)
print(stack.pop()) # 3 (pop)
print(stack.pop()) # 2
results = []
for i in range(10):
results.append(i ** 2)
print(results) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
users = []
users.append({"name": "Alice", "age": 30})
users.append({"name": "Bob", "age": 25})
print(users[0]["name"]) # Alice
collections.dequeappend() 是列表尾端新增單一元素的標準方法,原地修改、回傳 None、參數為單一物件。切記:加入列表會產生巢狀結構,若需展開請用 extend()。掌握這三個核心特性,能避開 90% 的新手 Bug,寫出更穩健的 Python 程式碼。