Python 3.2: как передать словарь в str.format () - PullRequest
23 голосов
/ 27 июня 2011

Я читал документы Python 3.2 о форматировании строк, но это не помогло мне с этой конкретной проблемой.

Вот что я пытаюсь сделать:

stats = { 'copied': 5, 'skipped': 14 }
print( 'Copied: {copied}, Skipped: {skipped}'.format( stats ) )

Приведенный выше код не будет работать, потому что вызов format () не читает значения словаря и использует их вместо заполнителей моего формата. Как я могу изменить свой код для работы со своим словарем?

Ответы [ 2 ]

47 голосов
/ 27 июня 2011

Это делает работу:

stats = { 'copied': 5, 'skipped': 14 }
print( 'Copied: {copied}, Skipped: {skipped}'.format( **stats ) )  #use ** to "unpack" a dictionary

Для получения дополнительной информации, пожалуйста, обратитесь к:

15 голосов
/ 27 июня 2011

вы хотите .format(**stats), поскольку это делает статистику частью формата kwargs.

...