def createSVGStyleTransformationMatrix(self, transformMatrix):
return "matrix(%f %f %f %f %f %f)"%(transformMatrix[0],transformMatrix[1],transformMatrix[2],transformMatrix[3],transformMatrix[4],transformMatrix[5])
由于所有的替换都来自同一个列表并按顺序排列,我希望有一个更简洁的方法来做到这一点。有人有任何想法吗?
答案 0 :(得分:6)
或者,使用{3. 3}}方法(版本2.6+),这比Python 3.x中的字符串插值(%
)更受欢迎:
return "matrix(%f %f %f %f %f %f)".format(*transformMatrix)
*
指示Python解释器str.format
来自列表或元组的参数。
答案 1 :(得分:5)
如果len(transformMatrix) == 6
,则可以使用
return "matrix(%f %f %f %f %f %f)" % tuple(transformMatrix)
答案 2 :(得分:4)
"matrix(%s)" % " ".join(["%f" % i for i in transformMatrix])
(未经测试)
编辑:测试: - )
答案 3 :(得分:3)
"matrix({})".format(" ".join(map(str, transformMatrix)))
或者我认为它更简单:
"matrix(" + " ".join(map(str, transformMatrix) + ")"
字符串连接不应该是三个小字符串的问题,但应避免使用大量或大字符串。