📜  如何在python的同一行中打印for循环(1)

📅  最后修改于: 2023-12-03 15:08:58.376000             🧑  作者: Mango

如何在Python的同一行中打印for循环

在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()函数来逐个输出生成器对象中的值。