2016-10-25 18 views
-1

:)フォーマット()Pythonで関数 - 複数の中括弧の使用{{{}}}再び

Iコード

Pythonはこの文を評価する方法
col_width=[13,11] 
header=['First Name','Last Name'] 

format_specs = ["{{:{}}}".format(col_width[i]) for i in range(len(col_width))] 
lheader=[format_specs[i].format(self.__header[i]) for i in range(nb_columns)] 

このビットを発見?私たちがなぜ3つ使用するのか(各反復でフォーマットする要素が1つの場合)

+2

なぜこれをPython 2タグとPython 3タグでタグ付けしていますか?どちらですか?それは問題なの?不適切なタグは使用しないでください。 –

+0

[docs](https://docs.python.org/3/library/string.html#formatstrings)を読んでください。 – user2357112

+0

ありがとうございました:) –

答えて

0

{{}}とすると、pythonは{}の置換をスキップし、stringの一部になります。同様に、あなたの式はのように評価している

>>> '{{}}'.format(3) # with two '{{}}' 
'{}' # nothing added to the string, instead made inner `{}` as the part of string 
>>> '{{{}}}'.format(3) # with three '{{{}}}' 
'{3}' # replaced third one with the number 

詳細について
>>> '{{:{}}}'.format(3) 
'{:3}' # during creation of "format_specs" 

は、参照してください。Format String Syntaxドキュメント以下は、これを説明するためのサンプル例です。

+1

ありがとう:) –

関連する問題