鍍金池/ 問答/Python/ python中如何實現(xiàn)多個%s時列表展開

python中如何實現(xiàn)多個%s時列表展開

假設(shè)有這樣的1個字符串:

fmt = %s,%s,%s

而對應(yīng)的數(shù)據(jù)為[1,2,3],現(xiàn)在想實現(xiàn)在格式化時將列表自動展開:

fmt = fmt % (*[1,2,3])

就可以得到結(jié)果1,2,3,而不是語法錯誤。

回答
編輯回答
汐顏

加多個逗號表示tuple

fmt = '%s, % s, % s'
fmt = fmt % (*[1, 2, 3], )
print(fmt)
2017年2月19日 20:33
編輯回答
撿肥皂

可以采用如下的方式來實現(xiàn),

fmt = fmt % tuple([1,2,3])

這樣就得到數(shù)據(jù)結(jié)果了,而不會出現(xiàn)語法錯誤。

2017年7月6日 18:19
編輯回答
心上人

試了一下,你不可以使用星號表達式把一個list展開成一個tuple,會報

SyntaxError: can't use starred expression here

但你可以

fmt % tuple([1, 2, 3])

2018年4月11日 13:25