爲什麼這項工作打破了循環:加入功能方面與蟒蛇
"".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新手 –
你需要一個迭代來加入它..只需在第二種情況下打印沒有空格或換行符的數字來獲得輸出。不需要'加入' –