Python列表(List)入門:創建和訪問
1. 列表的創建
# 空列表
empty_list = []
empty_list2 = list()
# 包含元素的列表
numbers = [1, 2, 3, 4, 5]
fruits = ["蘋果", "香蕉", "橘子"]
mixed = [1, "Python", 3.14, True]
# 使用list()函數創建
chars = list("Python") # ['P', 'y', 't', 'h', 'o', 'n']
numbers2 = list(range(5)) # [0, 1, 2, 3, 4]
列表特點:
- 可以包含不同類型的元素
- 元素可以重複
- 列表是可變的(mutable)
- 保持元素的插入順序
2. 訪問列表元素
# 使用索引訪問
fruits = ["蘋果", "香蕉", "橘子", "葡萄", "西瓜"]
print(fruits[0]) # 蘋果
print(fruits[-1]) # 西瓜
print(fruits[1:4]) # ['香蕉', '橘子', '葡萄']
print(fruits[::2]) # ['蘋果', '橘子', '西瓜']
# 使用in運算符
print("蘋果" in fruits) # True
print("梨" in fruits) # False
常見錯誤:
- 索引超出範圍會引發IndexError
- 切片索引超出範圍不會報錯,但可能得到空列表
3. 修改列表
# 修改元素
numbers = [1, 2, 3, 4, 5]
numbers[2] = 30
print(numbers) # [1, 2, 30, 4, 5]
# 添加元素
fruits = ["蘋果", "香蕉"]
fruits.append("橘子") # 在末尾添加
fruits.insert(1, "梨") # 在指定位置插入
fruits.extend(["葡萄", "西瓜"]) # 添加多個元素
# 刪除元素
fruits.remove("香蕉") # 刪除指定元素
last_fruit = fruits.pop() # 刪除並返回最後一個元素
del fruits[0] # 刪除指定位置的元素
4. 列表操作
# 列表連接
list1 = [1, 2, 3]
list2 = [4, 5, 6]
combined = list1 + list2 # [1, 2, 3, 4, 5, 6]
# 重複列表
repeated = [1, 2] * 3 # [1, 2, 1, 2, 1, 2]
# 排序
numbers = [3, 1, 4, 1, 5, 9, 2, 6]
numbers.sort() # 原地排序
sorted_nums = sorted(numbers) # 返回新列表
# 反轉
numbers.reverse() # 原地反轉
reversed_nums = numbers[::-1] # 返回新列表
5. 實際應用範例
成績統計
# 計算學生成績的平均值、最高分和最低分
scores = [85, 92, 78, 95, 88, 90]
average = sum(scores) / len(scores)
highest = max(scores)
lowest = min(scores)
print(f"平均分:{average:.1f}")
print(f"最高分:{highest}")
print(f"最低分:{lowest}")
購物清單管理
# 簡單的購物清單管理
shopping_list = []
while True:
item = input("請輸入要購買的物品(輸入'q'結束):")
if item.lower() == 'q':
break
shopping_list.append(item)
print("n購物清單:")
for i, item in enumerate(shopping_list, 1):
print(f"{i}. {item}")
6. 練習題
-
實現一個簡單的待辦事項管理:
- 添加新的待辦事項
- 標記事項為已完成(刪除)
- 顯示所有待辦事項
- 按優先級排序
-
數字處理:
- 生成1-100的隨機數列表
- 找出所有偶數
- 計算平均值
- 刪除重複元素