0

次のような文字列形式の文があります。

最初の文

            hund                    
barked      4.51141770734e-07
bit         0.0673737226603
dog         0.932625826198

二文目

            hyi                     
biid        6.12323423324e-07
bok         0.0643253
dyfs        0.514586321

そして、それらを次のようなファイルの列に書き込みたい:

            hund                                    hyi     
barked      4.51141770734e-07           biid        6.12323423324e-07
bit         0.0673737226603             bok         0.0643253
dog         0.932625826198              dyfs        0.514586321

このようにする代わりに:

            hund                    
barked      4.51141770734e-07
bit         0.0673737226603
dog         0.932625826198

            hyi                     
biid        6.12323423324e-07
bok         0.0643253
dyfs        0.514586321

何か案は?

4

2 に答える 2

1

行のリストが 2 つあるとしlines1ますlines2。複数の改行を含む文字列がある場合は、 を呼び出して行のリストを作成できます.split('\n')

次に、それらを文字列フォーマットで並列列にフォーマットできます。

lines = ['{:<40}{:<40}'.format(s1, s2) for s1, s2 in zip(lines1, lines2)]

例:

a = '''            hund                    
barked      4.51141770734e-07
bit         0.0673737226603
dog         0.932625826198'''.split('\n')
b = '''            hyi                     
biid        6.12323423324e-07
bok         0.0643253
dyfs        0.514586321'''.split('\n')
lines = ['{0:<40}{1:<40}'.format(s1, s2) for s1, s2 in zip(a,b)]
print '\n'.join(lines)

出力:

            hund                                    hyi                         
barked      4.51141770734e-07           biid        6.12323423324e-07           
bit         0.0673737226603             bok         0.0643253                   
dog         0.932625826198              dyfs        0.514586321                 
于 2013-02-13T23:56:26.730 に答える
0

あなたが求めているのが文字列のフォーマットである場合は、文字列を特定の長さにするためにstr.ljustとして見たいと思うかもしれません。

于 2013-02-13T23:51:55.200 に答える