Python - short way to unpack list for string formatting operator?

喜欢而已 提交于 2019-12-01 02:28:39

问题


Variations of the * or ** operators don't seem to work, unfortunately:

lstData = [1,2,3,4]
str = 'The %s are %d, %d, %d, and %d' % ('numbers', *lstData)

Is there an easy way?


回答1:


Use format:

str = 'The {} are {}, {}, {}, and {}'.format('numbers', *lstData)

see the docs for more details about possible formatting (floats, decimal points, conversion, ..).




回答2:


s = 'The %s are %d, %d, %d, and %d' % tuple(['numbers'] + lstData)



回答3:


>>> data = range(5)
>>> 'The {0} are {1}, {2}, {3}, {4} and {5}'.format('numbers', *data)
'The numbers are 0, 1, 2, 3 and 4'


来源:https://stackoverflow.com/questions/7978144/python-short-way-to-unpack-list-for-string-formatting-operator

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!