Разрешает ли 'string.format' больше контроля над итерациями / словарями? - PullRequest
0 голосов
/ 22 января 2019

Я нахожусь в ситуации, когда легко настроить строку форматирования, но сложно настроить аргументы для формата:

'I can influence this'.format(foo={'a': 'no', 'b': 'control'},
                              bar=['no', 'control', 'either'])

Для чисел вы можете форматировать с помощью {:1.23f}.

Для дат вы можете отформатировать с помощью {:%Y-%m-%d}.

Я хотел бы иметь больший контроль над итерациями и словарями.Например, я мог бы представить '{:iterable.42}' для доступа к 43-му элементу итерируемого и {:dict.b} для доступа к элементу с ключом b.

Существует ли что-то подобное?

1 Ответ

0 голосов
/ 22 января 2019

При форматировании строки вы можете получить доступ к аргументам ключевых слов, указанным в формате функции:

'{foo[a]} {bar[1]}'.format(foo={'a': 'no', 'b': 'control'},
                              bar=['no', 'control', 'either'])

Полезный источник для форматирования строки в python: https://pyformat.info/

...