[英]Printing from 1 to 99 using a print and for loop function
我在Python 3.6的IDLE中尝试了以下内容
print(value for value in range(1,100))
IDLE中会生成一条消息
<generator object <genexpr> at 0x101b73a40>
我很困惑这意味着什么。 我做错了什么吗?
(value for value in range(1,100))
生成generator
对象,如果要打印list
,只需将其包装在[]
print([value for value in range(1,100)])
或者你可以简单地
print(list(range(1,100)))
你可以阅读这里的发电机
一个返回生成器迭代器的函数。 它看起来像一个普通的函数,除了它包含yield表达式,用于生成一个在for循环中可用的值,或者可以使用next()函数一次检索一个值。
通常是指生成器函数,但在某些上下文中可能指的是生成器迭代器。 如果预期含义不明确,则使用完整术语可避免含糊不清。
print([value for value in range(1,100)])
您应该将它包含在list []
以生成值
你想要的只是在这里使用列表推导,但你没有使用列表。
应该是
for i in range(1,100):
print(i)
如果你仍想使用列表理解,它将是这样的
[print(x) for x in range(1,100)]
这会给输出像
1
2
3
....
99
100
[None, None, None, ...97 times more]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.