# 创建一个列表,包含0到9的平方数
squares = [x**2 for x in range(10)]
print(squares) # 输出: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
# 创建一个列表,包含偶数的平方数
even_squares = [x**2 for x in range(10) if x % 2 == 0]
print(even_squares) # 输出: [0, 4, 16, 36, 64]
二、字典推导式
# 创建一个字典,将字符串列表中的每个字符串映射为它的长度
words = ["apple", "banana", "cherry"]
word_lengths = {word: len(word) for word in words}
print(word_lengths) # 输出: {'apple': 5, 'banana': 6, 'cherry': 6}
# 创建一个字典,筛选出长度大于等于6的字符串
long_words = {word: len(word) for word in words if len(word) >= 6}
print(long_words) # 输出: {'banana': 6, 'cherry': 6}
三、集合推导式
# 创建一个集合,包含0到9的平方数的平方根
square_roots = {x**0.5 for x in range(10)}
print(square_roots) # 输出: {0.0, 1.0, 2.0, 1.7320508075688772, 2.23606797749979, 2.449489742783178, 2.6457513110645907, 2.8284271247461903, 3.0}
四、生成器表达式
# 创建一个生成器对象,计算0到9的平方数
square_generator = (x**2 for x in range(10))
print(square_generator) # 输出: <generator object <genexpr> at 0x7f4dc59d7c80>
# 使用生成器表达式计算和
sum_of_squares = sum(x**2 for x in range(10))
print(sum_of_squares) # 输出: 285