2016-06-21 13 views
0

連結文字列の幅を設定しようとしています。これは私が何をしようとしていますものです:Pythonで連結された文字列形式ですか?

>>> "{{a}_{b}:<10s}".format(a='xx', b='yy') 
Traceback (most recent call last): 
    File "<input>", line 1, in <module> 
ValueError: Single '}' encountered in format string 

私は間違いなく使用することによってそれを行うことができます知っている:

>>> "{:<10s}".format("{a}_{b}".format(a='xx', b='yy')) 
'xx_yy  ' 

しかし、私は、単一のformat()を使用してそれを行うことができる方法があるかどうか迷っています。

+0

@cmidi:いいえ、それは私ではありません結果が – stanleyli

+0

の場合、おそらくあなたは 'i = 10 - len( 'xx_yy'); y =" {a} _ {b} {c} "のようにインデントすることができます(a = 'xx'、b = 'yy'、c = "" * i) ' – cmidi

答えて

0

あなたは_のための1つを追加し、パディングとパッドBからaとbの長さを引くことができます:

a, b ='xx','yy' 
"{a}_{b:<{ln}s}".format(a=a, b=b, ln= 11 - (len(a) + len(b))) 

それともとして、ljust:

"{a}_{b}".format(a='xx', b='yy').ljust(10, " ") 
関連する問題