经过一定的计算后,我得到的输出如下:
(' ','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
我得到的东西是一个元组,但我很困惑如何根据我的愿望将这个元组变成格式良好的外观。
请给出一些想法......
谢谢。
答案 0 :(得分:1)
在每个元组上使用str.join()
:
' '.join(your_tuple)
打印前。
答案 1 :(得分:0)
lis = [
(' ','donor',' ','distance'),
(' ','ARG','A','43',' ','3.55'),
(' ','SOD','B','93', ' ','4.775'),
(' ','URX','C','33', ' ','3.55')
]
for item in lis:
print " ".join(item)
输出:
donor distance
ARG A 43 3.55
SOD B 93 4.775
URX C 33 3.55
答案 2 :(得分:0)
如果您的数据看起来像这样
data = [
(' ', 'donor', ' ', 'distance'),
(' ', 'ARG', 'A', '43', ' ', '3.55'),
(' ', 'SOD', 'B', '93', ' ', '4.775'),
(' ', 'URX', 'C', '33', ' ', '3.55')
]
然后你可以
print '\n'.join(map(' '.join, data))
答案 3 :(得分:-1)
听起来你想使用format strings。例如,假设您不在项目中存储填充字符串:
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