簡體   English   中英

使用列表作為格式字符串的值,而不必分別列出每個項目

[英]using a list as values to a format string without having to list each item separately

def createSVGStyleTransformationMatrix(self, transformMatrix):
    return "matrix(%f %f %f %f %f %f)"%(transformMatrix[0],transformMatrix[1],transformMatrix[2],transformMatrix[3],transformMatrix[4],transformMatrix[5])

由於所有替換均來自同一列表,因此我希望有一種更整潔的方式來做到這一點。 有人有想法嗎?

或者,使用str.format方法(版本2.6+),該方法比Python 3.x中的字符串插值( % )更可取:

return "matrix(%f %f %f %f %f %f)".format(*transformMatrix)

*指示Python解釋器從列表或元組中解壓縮參數

如果len(transformMatrix) == 6 ,則可以使用

 return "matrix(%f %f %f %f %f %f)" % tuple(transformMatrix)
"matrix(%s)" % " ".join(["%f" % i for i in transformMatrix])

(未測試)

編輯:已測試:-)

"matrix({})".format(" ".join(map(str, transformMatrix)))

或者我認為這更簡單:

"matrix(" + " ".join(map(str, transformMatrix) + ")" 

字符串連接對於三個小字符串應該不是問題,但應避免使用大量的大字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM