https://hackmd.io/@s10109670/Sko5kJSY_
2024年9月30日 星期一
List Comprehension(列表推導式) 範例代碼
15個不同的 List Comprehension(列表推導式) 範例代碼,涵蓋不同的應用情境:
1. 平方數列表
squares = [x**2 for x in range(10)]
print(squares) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
2. 偶數列表
evens = [x for x in range(20) if x % 2 == 0]
print(evens) # [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
3. 奇數列表
odds = [x for x in range(20) if x % 2 != 0]
print(odds) # [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
4. 字母大寫轉小寫
lowercase_letters = [char.lower() for char in ['A', 'B', 'C', 'D']]
print(lowercase_letters) # ['a', 'b', 'c', 'd']
5. 過濾出長度大於3的單詞
words = ['apple', 'bat', 'car', 'elephant']
filtered_words = [word for word in words if len(word) > 3]
print(filtered_words) # ['apple', 'elephant']
6. 將數字轉為字串
num_strings = [str(num) for num in range(5)]
print(num_strings) # ['0', '1', '2', '3', '4']
7. 列表中的元素平方再加一
modified_list = [(x**2) + 1 for x in range(5)]
print(modified_list) # [1, 2, 5, 10, 17]
8. 過濾出負數
numbers = [-10, -5, 0, 5, 10]
negatives = [x for x in numbers if x < 0]
print(negatives) # [-10, -5]
9. 使用條件來修改列表中的元素
numbers = [1, 2, 3, 4, 5]
modified_numbers = [x*2 if x % 2 == 0 else x*3 for x in numbers]
print(modified_numbers) # [3, 4, 9, 8, 15]
10. 二維列表生成(乘法表)
multiplication_table = [[i * j for j in range(1, 6)] for i in range(1, 6)]
print(multiplication_table)
# [[1, 2, 3, 4, 5], [2, 4, 6, 8, 10], [3, 6, 9, 12, 15], [4, 8, 12, 16, 20], [5, 10, 15, 20, 25]]
11. 過濾出正數並平方
numbers = [-3, -2, -1, 0, 1, 2, 3]
positive_squares = [x**2 for x in numbers if x > 0]
print(positive_squares) # [1, 4, 9]
12. 將列表中的字串反轉
words = ['python', 'hello', 'world']
reversed_words = [word[::-1] for word in words]
print(reversed_words) # ['nohtyp', 'olleh', 'dlrow']
13. 生成0到4的平方列表,但排除平方為4的數字
filtered_squares = [x**2 for x in range(5) if x**2 != 4]
print(filtered_squares) # [0, 1, 9, 16]
14. 列表中每個字串的長度
words = ['apple', 'banana', 'cherry']
lengths = [len(word) for word in words]
print(lengths) # [5, 6, 6]
15. 巢狀列表的展平
nested_list = [[1, 2], [3, 4], [5, 6]]
flat_list = [item for sublist in nested_list for item in sublist]
print(flat_list) # [1, 2, 3, 4, 5, 6]
這些例子涵蓋了不同的List Comprehension應用,包括基本操作、過濾條件、列表生成以及巢狀列表的處理。這些範例將有助於學生加深對列表推導式的理解。
Python List主題的代碼範例
Python List主題的代碼範例,適合初學者
1. List 基礎概念
# 定義一個列表
my_list = [1, 2, 3, 4]
print(my_list) # [1, 2, 3, 4]
2. List 操作
# 存取元素
print(my_list[0]) # 1
# 修改元素
my_list[1] = 5
print(my_list) # [1, 5, 3, 4]
# 新增元素
my_list.append(6)
print(my_list) # [1, 5, 3, 4, 6]
# 插入元素
my_list.insert(2, 10)
print(my_list) # [1, 5, 10, 3, 4, 6]
# 移除元素
my_list.remove(10)
print(my_list) # [1, 5, 3, 4, 6]
# 使用 pop 移除最後一個元素
my_list.pop()
print(my_list) # [1, 5, 3, 4]
# 清空列表
my_list.clear()
print(my_list) # []
3. List 操作技巧
my_list = [1, 2, 3, 4, 5]
# 列表長度
print(len(my_list)) # 5
# 檢查元素是否存在
print(3 in my_list) # True
print(6 in my_list) # False
# 遍歷列表
for item in my_list:
print(item)
4. List 切片 (Slicing)
# 切片
my_list = [1, 2, 3, 4, 5]
print(my_list[1:4]) # [2, 3, 4]
# 使用步進值
print(my_list[::2]) # [1, 3, 5]
# 反轉列表
print(my_list[::-1]) # [5, 4, 3, 2, 1]
5. List 常用內建函數
# 排序
my_list = [4, 1, 3, 5, 2]
my_list.sort()
print(my_list) # [1, 2, 3, 4, 5]
# 計數
print(my_list.count(3)) # 1
# 查找索引
print(my_list.index(4)) # 3
# 合併列表
other_list = [6, 7]
my_list.extend(other_list)
print(my_list) # [1, 2, 3, 4, 5, 6, 7]
6. List 推導式 (List Comprehension)
# 快速創建一個平方列表
squares = [x**2 for x in range(5)]
print(squares) # [0, 1, 4, 9, 16]
# 創建一個偶數列表
evens = [x for x in range(10) if x % 2 == 0]
print(evens) # [0, 2, 4, 6, 8]
7. List 與其他資料型別的轉換
# 字串轉列表
string = "hello"
char_list = list(string)
print(char_list) # ['h', 'e', 'l', 'l', 'o']
# 列表轉字串
word = ''.join(char_list)
print(word) # 'hello'
8. 嵌套列表 (Nested List)
# 二維列表
matrix = [[1, 2], [3, 4], [5, 6]]
# 存取嵌套列表中的元素
print(matrix[0][1]) # 2
# 遍歷二維列表
for row in matrix:
for item in row:
print(item)
9. List 的進階應用
# 刪除重複元素
my_list = [1, 2, 2, 3, 3, 4]
unique_list = list(set(my_list))
print(unique_list) # [1, 2, 3, 4]
# 合併與壓平多維列表
nested_list = [[1, 2], [3, 4], [5, 6]]
flat_list = [item for sublist in nested_list for item in sublist]
print(flat_list) # [1, 2, 3, 4, 5, 6]
10. 專案實作範例
待辦事項清單 (To-Do List) 程式
todo_list = []
while True:
task = input("請輸入待辦事項 (輸入 'done' 結束): ")
if task == 'done':
break
todo_list.append(task)
print("您的待辦事項:")
for task in todo_list:
print(task)
這些範例代碼涵蓋了Python中列表的基本操作及進階應用,可以幫助學生更好地理解與應用。
訂閱:
文章 (Atom)