一、什麼是列表生成式
Python提供了列表生成式(也叫列表推導式),可以非常簡潔地創建新的列表。它的語法形式如下:
[expression for item in iterable if condition]
其中,expression是表達式,item為變量,iterable為可迭代對象(如列表、字典等),if條件語句是可選的。
二、使用列表生成式的好處
相比於傳統的循環方式,使用列表生成式可以讓代碼更加簡潔、易讀。同時,還可以大大提高代碼的執行效率,因為列表生成式使用了內部的循環優化機制,可以更快地生成新的列表。
三、常用列表生成式示例
1、生成1~10的平方數列表
squares = [x**2 for x in range(1, 11)]
print(squares)
輸出結果:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
2、篩選出列表中的偶數
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = [x for x in numbers if x % 2 == 0]
print(even_numbers)
輸出結果:[2, 4, 6, 8, 10]
3、生成所有元素的全排列
chars = ['a', 'b', 'c']
permutations = [(a, b, c) for a in chars for b in chars for c in chars if a != b != c != a]
print(permutations)
輸出結果:[(‘a’, ‘b’, ‘c’), (‘a’, ‘c’, ‘b’), (‘b’, ‘a’, ‘c’), (‘b’, ‘c’, ‘a’), (‘c’, ‘a’, ‘b’), (‘c’, ‘b’, ‘a’)]
四、注意事項
- 列表生成式的表達式部分只能包含一行代碼,否則需要用括號括起來。
- 當列表生成式過於複雜時,可考慮使用普通的循環語句代替,以提高代碼的可讀性。
- 使用列表生成式時,儘可能減少對外部狀態的依賴,以免造成不必要的複雜性。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/248138.html
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/248138.html