0

特定の計算の後、次のような出力が得られます。

('      ','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

私が得ているのはタプルですが、このタプルを自分の望みどおりに適切にフォーマットされた外観にする方法について非常に混乱しています。アイデアをください...ありがとう。

4

4 に答える 4

1

str.join()各タプルで使用:

' '.join(your_tuple)

印刷前。

于 2013-08-05T14:56:30.293 に答える
0

for ループとを使用できますstr.join

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
于 2013-08-05T14:58:45.003 に答える
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))
于 2013-08-05T15:49:00.070 に答える
-1

format stringsを使用したいようです。たとえば、アイテムにパディング文字列を保存していないとします。

print "{0} {1} {2}   {3:>10.2f}".format(*item)

フォーマット文字列で、レコードの各フィールドの正確なフォーマット (幅と配置を含む) を指定できます。この例では、4 番目の文字列は 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
于 2013-08-05T14:59:08.127 に答える