Python 3.2: Как передать словарь в str.format()

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

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

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

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

+17
26 июн. '11 в 23:43
источник поделиться
2 ответа

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

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

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

+36
26 июн. '11 в 23:52
источник

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

+12
26 июн. '11 в 23:47
источник

Посмотрите другие вопросы по меткам или Задайте вопрос