0

私はいくつかの vaules を取る文字列の代用者であり、キーをスキップしてそこに残し、スペースで埋めないことは可能でしょうか?

s='%(name)s has a %(animal)s that is %(animal_age)s years old'

#skip the animal value
s = s % {'name': 'Dolly', 'animal': 'bird'}#, 'animal_age': 10}

print s

期待される出力:

Dolly has a bird that is %(animal_age)s years old
4

1 に答える 1

2

文字列で2つを使用%%して、文字列のフォーマットをスキップできます。

In [169]: s='%(name)s has a %(animal)s that is %%(animal_age)s years old'

In [170]: s % {'name': 'Dolly', 'animal': 'bird', 'animal_age': 10}

Out[170]: 'Dolly has a bird that is %(animal_age)s years old'

または使用string.format()

In [172]: s='{name} has a {animal} that is %(animal_age)s years old'

In [173]: dic = {'animal': 'bird', 'animal_age': 10, 'name': 'Dolly'}

In [174]: s.format(**dic)
Out[174]: 'Dolly has a bird that is %(animal_age)s years old'
于 2012-12-17T04:40:17.693 に答える