print()函数的行为

2024-04-20 08:43:48 发布

您现在位置:Python中文网/ 问答频道 /正文

有人能证明print()在下面的代码片段中的行为是正确的吗?你知道吗

print(i for i in range(0,10))

我打算打印0到9之间的值。你知道吗

另外,我如何知道哪些预定义函数可以使用i for i in range(10)作为参数。(10个独立整数)


Tags: 函数代码in证明for参数range整数
3条回答
print([i for i in range(0,10)])

针对您对天文学家的评论,请回答:

有点难看,但它确实起作用了:

print("".join([str(i) for i in range(10)]))

问题是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)

如果您使用的是Python3,您甚至可以通过以下方式将代码简化一点:

print(*range(10), sep='')

输出:

'0123456789'

有关生成器理解的详细信息:

生成器表达式类似于列表理解([i for i in range(10)]),但它不是查找所有感兴趣的项并将它们打包到列表中,而是等待,并从表达式中逐个生成每个项。你知道吗

什么函数可以将stuff作为i for i in range(10)

所以最后这是一个集合,所以可以将它传递给任何需要集合的函数。你知道吗

相关问题 更多 >