有人可以在下面的代码段中证明print()
的行为吗?
print(i for i in range(0,10))
我打算打印0到9之间的值。
另外,我怎么知道哪些预定义函数可以让我们说i for i in range(10)
作为参数。 (10个单独的整数)
答案 0 :(得分:3)
问题是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'
有关发电机理解的更多信息:
生成器表达式就像列表推导([i for i in range(10)]
),但不是找到您感兴趣的所有项目并将它们打包到列表中,而是等待,并从表达式中产生每个项目,一个接一个。
哪些功能可以将内容视为i for i in range(10)
?
所以最后这是一个集合,所以你可以将它传递给任何需要集合的函数。
答案 1 :(得分:1)
<body>
<div class="header">
<div class="logo">
<a href="index.php"><img src="imgs/logo.png"></a>
</div>
<div class="nav">
<ul>
<li><a href="browse.php">Browse</a></li>
<span class="separator">|</span>
<li><a href="create.php">Create</a></li>
</ul>
</div>
<div class="login">
<a href="login.php">Login</a>
</div>
</div>
</body>
答案 2 :(得分:1)
回应你对Astroms的评论回答:
有点难看,但它确实起作用了:
print("".join([str(i) for i in range(10)]))