[英]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.