1

変数「info」に次の文字列があるとします。

abc: 234234
aadfa: 235345
bcsd: 992

Python では、「情報」を次のようにフォーマットする最も簡単な方法は何ですか?

abc:    234234
aadfa:  235345
bcsd:   992
4

3 に答える 3

2

これはうまくいきます:

>>> s = """abc: 234234
... aadfa: 235345
... bcsd: 992"""
>>> print s
abc: 234234
aadfa: 235345
bcsd: 992

これで、新しい行とスペースで分割して、行ごとに各アイテムを取得できます。

>>> pairs = [x.split() for x in s.split('\n') ]
>>> pairs
[['abc:', ' 234234'], ['aadfa:', ' 235345'], ['bcsd:', ' 992']]

次に、各文字列をフォーマットします。

>>> for pair in pairs:
...     print '{0:10} {1}'.format(pair[0], pair[1])
...
abc:        234234
aadfa:      235345
bcsd:       992

{0:10}文字列の書式設定で使用する方法に注意してください。これは、その引数を 10 文字でフォーマットすることを意味します。

于 2013-04-06T01:47:07.223 に答える
0

次のコードが役立つことを願っています。

>>> import math
>>> info = ["abc: 234234", "aadfa: 235345", "bcsd: 992"]
>>> info = [item.split() for item in info]
>>> maxlen = max([len(item[0]) for item in info])
>>> maxlen = math.ceil(maxlen/8.0)*8
>>> info = [item[0]+" "*(maxlen-len(item[0]))+item[1] for item in info]

最終的な長さの作成方法を制御できます。

于 2013-04-06T01:58:37.487 に答える