[英]tuple to string formatting
經過一定的計算,我得到的輸出是:
(' ','donor',' ','distance')
(' ','ARG','A','43',' ','3.55')
(' ','SOD','B',93', ' ','4.775')
(' ','URX','C',33', ' ','3.55')
當我打算變得像:
donor distance
ARG A 43 3.55
SOD B 93 4.77
URX C 33 3.55
我得到的東西是一個元組,但是我很困惑如何根據我的需求將該元組變成格式正確的外觀。 請給個想法...謝謝。
在每個元組上使用str.join()
:
' '.join(your_tuple)
在打印之前。
如果您的數據如下所示
data = [
(' ', 'donor', ' ', 'distance'),
(' ', 'ARG', 'A', '43', ' ', '3.55'),
(' ', 'SOD', 'B', '93', ' ', '4.775'),
(' ', 'URX', 'C', '33', ' ', '3.55')
]
那你就可以
print '\n'.join(map(' '.join, data))
聽起來您想使用格式字符串 。 例如,假設您沒有在項目中存儲填充字符串:
print "{0} {1} {2} {3:>10.2f}".format(*item)
您可以在格式字符串中指定記錄的每個字段的准確格式(包括寬度和對齊方式)。 在此示例中,第四個字符串右對齊以適合10個字符,小數點右邊顯示2位數字。
使用數據的示例:
>>> x = ((' ','ARG','A','43',' ','3.55'),(' ','SOD','B','93', ' ','4.775'),(' ','URX','C','33', ' ','3.55'))
>>> f = "{0:3s}{1:1s}{2:2s} {3:>10.3f}"
>>> for item in x: print f.format(item[1], item[2], item[3], float(item[5]))
...
ARGA43 3.550
SODB93 4.775
URXC33 3.550
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.