Python print()函数的行为
有人能证明以下代码片段中的Python print()函数的行为,python,python-3.x,Python,Python 3.x,有人能证明以下代码片段中的print()的行为是正确的吗 print(i for i in range(0,10)) 我打算打印0到9之间的值 另外,我如何知道哪些预定义函数可以将范围(10)中的I作为参数。(10个独立的整数)问题在于,i代表范围(0,10)是一个生成器,简而言之,生成器是一个迭代器,您可以通过将生成器生成的内容连接在一起轻松解决: # note that range(0, 10) is print(''.join(str(i) for i in range(10))) e
print()
的行为是正确的吗
print(i for i in range(0,10))
我打算打印0到9之间的值
另外,我如何知道哪些预定义函数可以将范围(10)中的I作为参数。(10个独立的整数)问题在于,
i代表范围(0,10)
是一个生成器,简而言之,生成器是一个迭代器,您可以通过将生成器生成的内容连接在一起轻松解决:
# note that range(0, 10) is
print(''.join(str(i) for i in range(10))) equivalent to range(10)
如果您使用的是Python 3,您甚至可以通过以下方式进一步简化代码:
print(*range(10), sep='')
输出:
'0123456789'
关于发电机理解的更多信息:
'0123456789'
生成器表达式类似于列表理解([i for i in range(10)]
),但它并没有找到您感兴趣的所有项并将它们打包到列表中,而是等待,并从表达式中逐个生成每个项
在范围(10)中,哪些函数可以将内容作为i的i?
因此,最终这是一个集合,因此您可以将其传递给任何需要集合的函数。问题是,
i for i in range(0,10)
是一个生成器理解,简而言之,生成器是一个迭代器,您可以通过将生成器生成的内容连接在一起轻松解决它:
# note that range(0, 10) is
print(''.join(str(i) for i in range(10))) equivalent to range(10)
如果您使用的是Python 3,您甚至可以通过以下方式进一步简化代码:
print(*range(10), sep='')
输出:
'0123456789'
关于发电机理解的更多信息:
'0123456789'
生成器表达式类似于列表理解([i for i in range(10)]
),但它并没有找到您感兴趣的所有项并将它们打包到列表中,而是等待,并从表达式中逐个生成每个项
在范围(10)中,哪些函数可以将内容作为i的i?
最后,这是一个集合,因此您可以将其传递给任何需要集合的函数。对于您对Astroms的评论,请回答: 有点难看,但它确实起作用了:
print("".join([str(i) for i in range(10)]))
关于您对Astroms的评论,请回答: 有点难看,但它确实起作用了:
print("".join([str(i) for i in range(10)]))
缺少括号<代码>打印([i代表范围(0,10)])或在范围(0,10)中的i的
后添加打印(i)
,具体取决于您希望输出的方式打印(*[i代表范围(10)])
->0 1 2 3 4 5 6 7 8 9
。通常,通过知道所讨论的函数是接受一个iterable参数还是多个参数,就可以知道它是有效的。谢谢大家!:D@martineau无需理解,打印(*范围(10))
缺少括号<代码>打印([i代表范围(0,10)])
或在范围(0,10)中的i的后添加打印(i)
,具体取决于您希望输出的方式打印(*[i代表范围(10)])
->0 1 2 3 4 5 6 7 8 9
。通常,通过知道所讨论的函数是接受一个iterable参数还是多个参数,就可以知道它是有效的。谢谢大家!:D@martineau无需理解,print(*range(10))
Hi!谢谢你,伙计。但这会生成指定范围内的值列表。我希望代码将其打印为:0123456789,然后在[
之前添加*
(假设您使用的是python3,否则*将不起作用)。您可以删除范围(0,10)中的0。它可以是范围(10)。正如@Gaurac Saini所说的那样,期望的结果是0123456789,因此不需要任何删除。谢谢你,伙计。但是这会列出指定范围内的值。我希望代码将其打印为:0123456789,然后在[
之前添加*
(假设你使用的是python3,否则*将无法工作)您可以删除范围(0,10)中的0。它可以是范围(10)。正如@Gaurac Saini所说,所需的结果是0123456789,因此无需任何删除。您可以删除范围(0,10)
中的0。它可以是范围(10)。哦,是的。:D我把它放在那里太傻了。谢谢你指出这一点!:D非常感谢所有人的解决方案!:D你可以删除范围(0,10)
中的0。它可以是范围(10)
。哦,是的。:D我把它放在那里太傻了。谢谢你指出这一点!:D非常感谢所有人提供的解决方案!:D你可以删除范围(0,10)中的0。它可以是范围(10)。你可以删除范围(0,10)中的0。它可以是范围(10)。