📅  最后修改于: 2023-12-03 15:08:58.376000             🧑  作者: Mango
在Python中,如果要在同一行中打印for循环,可以使用列表推导式或者生成器表达式。
列表推导式是一种简洁的写法,可以将for循环和一个表达式组合在一起,并且可以在同一行中打印。
# 打印1到10的平方
print([i ** 2 for i in range(1, 11)])
输出结果为:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
生成器表达式也是一种简洁的写法,与列表推导式类似,但是它返回一个生成器对象,而不是一个列表。
# 打印1到10的平方
print((i ** 2 for i in range(1, 11)))
输出结果为:
<generator object <genexpr> at 0x7f6c890f14c0>
通过生成器表达式返回一个生成器对象,可以避免在内存中创建一个完整的列表,节省内存空间。
需要注意的是,在使用生成器表达式时,应该使用next()
函数来逐个输出生成器对象中的值,而不是使用print()
函数来打印整个生成器对象。
# 打印1到10的平方
gen = (i ** 2 for i in range(1, 11))
for i in gen:
print(i, end=" ")
输出结果为:
1 4 9 16 25 36 49 64 81 100
在Python中,使用列表推导式或者生成器表达式可以在同一行中打印for循环。列表推导式返回一个列表对象,而生成器表达式返回一个生成器对象。需要注意的是,在使用生成器表达式时,应该使用next()
函数来逐个输出生成器对象中的值。