Python 使用*运算符和多个变量格式化字符串

Python 使用*运算符和多个变量格式化字符串,python,Python,我遇到了以下问题:我想用以下方式用变量填充字符串: myList = [ 1000, 2000 ] extra = "$" myString = "{listItem}{extra} {listItem}{extra}".format(listItem = *myList, extra = extra) 我在*运算符遇到无效语法错误。我想这是因为格式采用了两个参数,而不是一个参数。如果我完全删除{extra}-标记,并且只删除名称listItem,就像这

我遇到了以下问题:我想用以下方式用变量填充字符串:

myList = [ 1000, 2000 ]
extra = "$"
myString = "{listItem}{extra} {listItem}{extra}".format(listItem = *myList, extra = extra)
我在*运算符遇到无效语法错误。我想这是因为格式采用了两个参数,而不是一个参数。如果我完全删除{extra}-标记,并且只删除名称
listItem
,就像这样

myString = "{} {}".format(*myList)

代码是有效的。我需要更改什么?

使用生成器格式化每个列表元素,并将它们连接在一起

myString = " ".join(f"{listItem}{extra}" for listItem in myList)
请尝试
myString=“{}{extra}{}{extra}”。格式(*myList,extra=extra)