我有一個數字元組讓我們說nums =(1,2,3)。數量的長度不是恆定的。是否有使用字符串在Python格式化做這樣的事情變量元組長度的Python字符串格式
>>>print '%3d' % nums
將產生
>>> 1 2 3
希望這不是一個重複的問題,但我不能找到它,如果它是的一種方式。 感謝
我有一個數字元組讓我們說nums =(1,2,3)。數量的長度不是恆定的。是否有使用字符串在Python格式化做這樣的事情變量元組長度的Python字符串格式
>>>print '%3d' % nums
將產生
>>> 1 2 3
希望這不是一個重複的問題,但我不能找到它,如果它是的一種方式。 感謝
試試這個:
print ('%3d'*len(nums)) % tuple(nums)
你可以使用。加入():
nums = (1, 2, 3)
"\t".join(str(x) for x in nums) # Joins each num together with a tab.
這是不夠用?
print ' '.join(str(x) for x in nums)
params = '%d'
for i in range(1,15):
try:
newnum = (params)%nums
except:
params = params + ',%d'
next
print newnum
你甚至試圖運行這個?提示:如果'nums'的大小大於1,它會崩潰。 – Maehler
在Gentoo Linux,Python 2.7.2 ...上,它對我有用嗎? – RightmireM
現在看,我明白你的想法。但是,最後一行必須有縮進錯誤。代碼在這裏寫入的方式,如果len(nums)> 1',它會崩潰,如果len(nums)== 1,它將打印14次。 – Maehler
使用 '' .format
nums = (1, 2, 3)
print(''.join('{:3d} '.format(x) for x in nums))
生產
>>> 1 2 3
@agf:感謝用來捕獲 - C orrected。 – viraptor