我想:你如何使循環總是在開始時打印零,而沒有零元素作爲第一個元素?
mylist=[1,2,3]
for i in mylist:
time=0
time=time+i
print(time, end="")
,並得到:
123
,但我想:
感謝您的幫助:)
我想:你如何使循環總是在開始時打印零,而沒有零元素作爲第一個元素?
mylist=[1,2,3]
for i in mylist:
time=0
time=time+i
print(time, end="")
,並得到:
123
,但我想:
感謝您的幫助:)
既然你如果零提及不是第一個元素,請與:
mylist = [1,2,3]
print(('0' * (1 if mylist[0] else 0)) + ''.join(str(x) for x in mylist))
這給你一個0時開始,如果0是不是在MYLIST :)
>>> mylist = [1,2,3]
>>> print(('0' * (1 if mylist[0] else 0)) + ''.join(str(x) for x in mylist))
>>> mylist = [0,1,2,3]
>>> print(('0' * (1 if mylist[0] else 0)) + ''.join(str(x) for x in mylist))
一個多種方式的第一個元素將是沒有結束列表迭代,但在新的清單,其中包括零開始,然後是你的清單。像這樣:
mylist=[1,2,3]
for i in [0] + mylist:
print(i, end="")
如果輸入列表是不是你的控制之下,你既要在前面加上0
它也不是建立一個新的拼接列表(例如,如果它是非常大的),你可以使用itertools.chain():
import itertools
mylist = [1, 2, 3]
for i in itertools.chain([0], mylist):
pass # Your loop code...
OK,看編輯的代碼:
mylist=[1,2,3]
for i in mylist:
time=0
time=time+i
print(time, end="")
顯然做time=0
然後time=time+i
每循環一次我與time=i
相同。所以,print(time, end="")
與print(i, end="")
相同。所以,讓我們試圖修復它之前把它簡化:
mylist=[1,2,3]
for i in mylist:
print(i, end="")
現在,我們怎麼把它打印0
在開始?那麼,有沒有0在循環取得任何進展,所以它非常有來循環之前:
mylist=[1,2,3]
print(0, end="")
for i in mylist:
print(i, end="")
mylist=[1,2,3]
for i in mylist:
time=0
time=time+i
print(time, end="")
更改爲:
mylist = [1, 2, 3]
print('0', end='')
for i in mylist:
print(str(i), end='')
考慮mylist未知的場景,過早地打印0會導致額外的零,這可能是不需要的:) – Torxed 2013-04-09 19:04:11
'打印「0%d '%(time)'? – Aif 2013-04-09 18:43:16
你的意思是你想用前導0填充字符串,所以它總是固定的長度? – 2013-04-09 18:43:50
你爲什麼要這樣?爲什麼要打印清單,如果你想要一些不同的東西?預先將0插入列表的前面會更好嗎?或者你想從0開始循環?如果是最後一種情況,則完全跳過列表並遍歷範圍(4)或xrange(4)。 – 2013-04-09 18:44:43