为什么这项工作打破了循环:加入功能方面与蟒蛇
"".join(str(i) for i in range(10))
,这不?
for i in range(10):
... "".join(str(i))
我想第二个输出相同的1-9位数字符串。 我是python的新手。
为什么这项工作打破了循环:加入功能方面与蟒蛇
"".join(str(i) for i in range(10))
,这不?
for i in range(10):
... "".join(str(i))
我想第二个输出相同的1-9位数字符串。 我是python的新手。
str.join
需要一个迭代,你在这两种情况下提供。
在第一种情况下,生成器理解将数字提供给相同的join
函数,并获得预期的结果。
在第二种情况下,在一个数位作为字符串的字符join
迭代,并重建它相同(所以join
是无用这里):
"".join(str(i))
相同`STR(ⅰ)
而且由于你打算打印这些表达式,你最终会在每个数字之间添加一个换行符。在你的循环,你将需要print(i,end="")
(蟒蛇3)
作为一个侧面说明
"".join([str(i) for i in range(10)])
稍微不仅仅是
"".join(str(i) for i in range(10))
因为join
需要更高性能反正建立一个列表来分配目标字符串。直接传递列表可以加快进程速度。
你是说在第二种情况下,我固有地在数字的每个字符之间插入一个换行符? 谢谢你的一面,虽然。正如我所说,我是Python新手 –
你需要一个迭代来加入它..只需在第二种情况下打印没有空格或换行符的数字来获得输出。不需要'加入' –