8

私は現在、周波数分析を行う短いプログラムを書いています。ただし、気になる行が 1 つあります。

"{0[0]}  | " + "[]" * num_occurrences + " Total: {0[1]!s}"

連結に頼らずに(できればフォーマット文字列内で)特定の文字を任意の回数繰り返す方法はPythonにありますか?これを最も Pythonic な方法で行っているとは思えません。

4

1 に答える 1

16

文字または文字列を繰り返す最良の方法は、乗算することです。

>>> "a" * 3
'aaa'
>>> '123' * 3
'123123123'

そして、あなたの例では、おそらく次を使用します:

>>> "{0[0]}  | {1} Total: {0[1]!s}".format(foo, "[]" * num_occurrences)
于 2015-03-28T19:47:08.073 に答える