Как используя .format() добавить строку сразу в несколько позиций?
Допустим есть строка:
s = "{}, {} and {}"
s1 = "one"
Можно ли как-то вставить вместо фигурных скобок в строке s строку s1.
Следующий код у меня не сработал:
s.format(s1)
Знаю, что можно сделать так: s.format(s1, s1, s1).
Но есть ли способ пофилиграннее?
Ответы (2 шт):
Автор решения: MaxU
→ Ссылка
Для этого обычно используют именованные параметры:
s = "{one}, {one} and {one}, another: {two}"
one, two = 1, 2
s.format(one=1, two=2)
>>> '1, 1 and 1, another: 2'
Также можно передавать параметры в виде словаря:
In [80]: s.format(**{"one":1, "two":2})
Out[80]: '1, 1 and 1, another: 2'
Автор решения: S. Nick
→ Ссылка
как вариант:
s = "{0}, {0} and {0}"
s.format(s1)
# 'one, one and one'