Python 文字列の 3 文字ごとにスペースを追加する必要がありますが、その方法についての手がかりがあまりありません。
文字列:
345674655
私が必要とする出力:
345 674 655
これを達成する方法についての手がかりはありますか?
よろしくお願いします、
Python 文字列の 3 文字ごとにスペースを追加する必要がありますが、その方法についての手がかりがあまりありません。
文字列:
345674655
私が必要とする出力:
345 674 655
これを達成する方法についての手がかりはありますか?
よろしくお願いします、
文字列を 3 つのチャンクで反復処理する方法が必要なだけです。
>>> a = '345674655'
>>> [a[i:i+3] for i in range(0, len(a), 3)]
['345', '674', '655']
それから' '.join
結果。
>>> ' '.join([a[i:i+3] for i in range(0, len(a), 3)])
'345 674 655'
ご了承ください:
>>> [''.join(x) for x in zip(*[iter(a)]*3)]
['345', '674', '655']
文字列の分割にも機能します。これは任意のイテラブル (文字列だけでなく) に対しても機能しますが、長さが 3 で割り切れない文字列を切り捨てます。元の動作を回復するには、itertools.izip_longest
( itertools.zip_longest
in py3k)を使用できます。
>>> import itertools
>>> [''.join(x) for x in itertools.izip_longest(*[iter(a)]*3, fillvalue=' ')]
['345', '674', '655']
もちろん、これらの後者の回答の一般化を改善するには、読みやすさという点で少しお金を払います...