輕鬆掌握Python列表:創建、索引與常用操作

什麼是列表?

在Python中,列表(List)是一種有序且可變的數據容器,就像一個可以裝各種東西的“籃子”。你可以往裏面放數字、字符串、甚至其他列表,而且可以隨時修改、添加或刪除裏面的元素。列表用中括號 [] 表示,元素之間用逗號 , 分隔。

一、創建列表

創建列表非常簡單,直接用中括號 [] 包裹元素即可。元素可以是不同類型(數字、字符串、布爾值等),甚至是空列表。

示例1:基本列表

# 數字列表
numbers = [1, 2, 3, 4, 5]

# 字符串列表
fruits = ["apple", "banana", "cherry"]

# 混合類型列表(支持不同類型元素)
mixed = [10, "hello", True, 3.14]

# 空列表(初始時沒有元素)
empty_list = []

二、索引:訪問列表元素

列表中的元素是有序排列的,我們可以通過“索引”(類似門牌號)訪問單個元素。Python的索引從 0 開始(不是1!),最後一個元素的索引是 -1(倒數第一個),-2 是倒數第二個,以此類推。

示例2:索引基礎

fruits = ["apple", "banana", "cherry", "date"]

# 訪問第一個元素(索引0)
print(fruits[0])  # 輸出:apple

# 訪問最後一個元素(索引-1)
print(fruits[-1])  # 輸出:date

# 訪問倒數第二個元素(索引-2)
print(fruits[-2])  # 輸出:cherry

注意:如果索引超出範圍(比如列表只有4個元素,卻訪問 fruits[4]),會報錯 IndexError

三、切片:獲取列表的一部分

切片(Slice)用於從列表中獲取連續的多個元素,語法是 列表[起始索引:結束索引:步長]
- 起始索引:包含該位置的元素(默認爲0);
- 結束索引:不包含該位置的元素(默認爲列表長度);
- 步長:每次移動的步數(默認爲1,步長爲負數時反向取元素)。

示例3:切片基礎

numbers = [0, 1, 2, 3, 4, 5, 6]

# 從索引1到3(不包含3)的元素
print(numbers[1:4])  # 輸出:[1, 2, 3]

# 從開頭到索引5(不包含5),步長爲2(隔一個取一個)
print(numbers[:5:2])  # 輸出:[0, 2, 4]

# 反向切片(步長爲-1)
print(numbers[::-1])  # 輸出:[6, 5, 4, 3, 2, 1, 0]

# 複製整個列表(等同於創建新列表)
copied = numbers[:]
print(copied)  # 輸出:[0, 1, 2, 3, 4, 5, 6]

四、列表的常用操作

列表的靈活之處在於可以對其進行增、刪、改、查等操作,以下是最常用的方法:

1. 添加元素
  • append():在列表末尾添加一個元素;
  • insert():在列表指定位置插入一個元素。

示例4:添加元素

fruits = ["apple", "banana"]

# 在末尾添加元素
fruits.append("cherry")
print(fruits)  # 輸出:["apple", "banana", "cherry"]

# 在索引1的位置插入元素
fruits.insert(1, "orange")
print(fruits)  # 輸出:["apple", "orange", "banana", "cherry"]
2. 刪除元素
  • remove():根據刪除第一個匹配的元素(無匹配值會報錯);
  • pop():根據索引刪除元素(默認刪除最後一個,返回被刪除元素);
  • del:刪除指定位置的元素或整個列表。

示例5:刪除元素

fruits = ["apple", "banana", "cherry", "banana"]

# 根據值刪除第一個"banana"
fruits.remove("banana")
print(fruits)  # 輸出:["apple", "cherry", "banana"]

# 根據索引刪除(刪除索引0的元素)
removed = fruits.pop(0)
print(removed)  # 輸出:apple
print(fruits)   # 輸出:["cherry", "banana"]

# 刪除整個列表(del會直接清空列表)
del fruits[0]
print(fruits)  # 輸出:["banana"]
3. 修改元素

直接通過索引賦值修改指定位置的元素。

示例6:修改元素

numbers = [1, 2, 3]
numbers[1] = 100  # 修改索引1的元素爲100
print(numbers)  # 輸出:[1, 100, 3]
4. 列表長度與檢查元素
  • len():獲取列表元素的個數;
  • in:檢查某個元素是否在列表中(返回布爾值)。

示例7:長度與檢查

fruits = ["apple", "banana"]

# 列表長度
print(len(fruits))  # 輸出:2

# 檢查元素是否存在
print("apple" in fruits)  # 輸出:True
print("orange" in fruits) # 輸出:False
5. 列表拼接與重複
  • +:拼接兩個列表(返回新列表,原列表不變);
  • *:重複列表n次(返回新列表);
  • extend():在列表末尾添加另一個列表的所有元素(修改原列表)。

示例8:拼接與重複

list1 = [1, 2]
list2 = [3, 4]

# 拼接列表
combined = list1 + list2
print(combined)  # 輸出:[1, 2, 3, 4]

# 重複列表3次
repeated = list1 * 3
print(repeated)  # 輸出:[1, 2, 1, 2, 1, 2]

# extend方法(修改原列表)
list1.extend(list2)
print(list1)  # 輸出:[1, 2, 3, 4]
6. 排序與反轉
  • sort():原地排序(直接修改原列表,升序);
  • sorted():返回排序後的新列表(原列表不變);
  • reverse():原地反轉列表;
  • reversed():返回反轉的迭代器(需轉成列表)。

示例9:排序與反轉

numbers = [3, 1, 4, 2]

# 升序排序(原地修改)
numbers.sort()
print(numbers)  # 輸出:[1, 2, 3, 4]

# 降序排序(sorted加reverse=True)
sorted_desc = sorted(numbers, reverse=True)
print(sorted_desc)  # 輸出:[4, 3, 2, 1]

# 反轉列表
numbers.reverse()
print(numbers)  # 輸出:[4, 3, 2, 1]

五、小總結

列表是Python中最基礎也最實用的數據結構之一,掌握它的關鍵在於:
- 創建:用 []list() 初始化;
- 索引與切片:注意索引從0開始,切片語法 [start:end:step]
- 操作:增(append/insert)、刪(remove/pop/del)、改(索引賦值)、查(len/in)等常用方法。

多動手練習,比如嘗試用列表實現簡單的待辦事項管理、學生成績統計等場景,就能更快熟練掌握啦!

小夜