# 操作類型 | 指令 | 範例說明
# ✅ 新增 | append() | 尾端新增一個元素 → fruits.append("kiwi")
# | insert(i, x) | 指定位置插入 → fruits.insert(1, "grape")
# | extend([]) | 把另一個串列加入 → fruits.extend(["lemon", "peach"])
# ✏️ 修改 | fruits[i] = x | 直接指定位置改值 → fruits[0] = "apple pie"
# 🗑 刪除 | del fruits[i] | 刪除指定位置的元素
# | fruits.remove(x) | 移除指定「值」的一次出現(找不到會錯)
# | fruits.pop() | 移除最後一個元素並回傳它
# | fruits.pop(i) | 移除指定位置的元素並回傳它
# 🧼 清空 | fruits.clear() | 把整個串列內容清空
# 🛠 其他常用 | len(fruits) | 取得串列長度
# | x in fruits | 判斷某元素是否存在於串列中
#🍎 範例程式:一步步操作
fruits = ["apple", "banana", "cherry"]
print(fruits)
fruits.append("kiwi")
print(fruits) # ["apple", "banana", "cherry", "kiwi"]
fruits[1] = "grape"
print(fruits) # ["apple", "grape", "cherry", "kiwi"]
fruits.insert(1, "lemon")
print(fruits) # ["apple", "lemon", "grape", "cherry", "kiwi"]
fruits.pop() # 移除最後一個
print(fruits) # ["apple", "lemon", "grape", "cherry"]
del fruits[2] # 移除 "grape"
print(fruits) # ["apple", "lemon", "cherry"]
# ✅ 小技巧
# append() ➜ 加一個元素
# extend() ➜ 加一串元素(常搞混)
# pop() ➜ 拿掉最後一個,很常用來做堆疊(stack)
# remove(x) ➜ 只能移除第一個符合的值,沒有的話會報錯
# 問如果串列元素只有10個,而程式卻輸入evens[15]=9 這樣會出現問題嗎?
# 超棒的問題!答案是:會錯誤,而且是非常常見的新手錯誤之一。
# 🧨 你的例子:
evens = [0, 2, 4, 6, 8, 10, 12, 14, 16, 18] # 共 10 個元素,索引 0~9
evens[15] = 9 # ❌ 錯誤!因為第 15 個元素根本不存在
# 這段程式會產生錯誤:
# IndexError: list assignment index out of range
# ❓為什麼會錯?
# Python 的串列是「有順序」的,索引從 0 開始編號,所以:
# evens[0] 是第一個元素
# evens[9] 是第十個元素
# evens[10] 以上 ➜ 都超出範圍了!
# 你不能直接指定不存在的索引來加入新值,這跟字典不一樣。
# ✅ 正確的做法是什麼?
# 如果你想新增一個元素到串列尾端,請用:
evens.append(9)
# 💡 延伸補充:想插入某位置也不能超過長度!
evens.insert(15, 9) # ✅ 不會錯,但會自動把它加在最後
# 即使你指定一個超出範圍的位置插入,Python 會自動幫你插到尾端,不會報錯。
while True:
try:
i=int(input("Key in "))
if 0<= i <=100:
fruit.append(i)
elif i==999:
break
else:
print("請輸入0-100")
except:
print("請輸入正確整數")
print(" 共輸入",fruit)