I've been reading the Python 3.2 docs about string formatting bu开发者_如何学Got it hasn't really helped me with this particular problem.
Here is what I'm trying to do:
stats = { 'copied': 5, 'skipped': 14 }
print( 'Copied: {copied}, Skipped: {skipped}'.format( stats ) )
The above code will not work because the format() call is not reading the dictionary values and using those in place of my format placeholders. How can I modify my code to work with my dictionary?
This does the job:
stats = { 'copied': 5, 'skipped': 14 }
print( 'Copied: {copied}, Skipped: {skipped}'.format( **stats ) ) #use ** to "unpack" a dictionary
For more info please refer to:
- http://docs.python.org/py3k/library/string.html#format-examples and
- http://docs.python.org/py3k/tutorial/controlflow.html#keyword-arguments
you want .format(**stats)
as that makes stats part of format's kwargs.
精彩评论