通过对列表进行循环来构造 f 字符串

Constructing an f-string by for-looping through a list

我想知道如何进行:

mylist = [10, 20, 30]

对此:

'Quantity 10, quantity 20 quantity 30'

我知道可以用:

mystring = f"Quantity {mylist[0]}, quantity {mylist[1]} quantity {mylist[2]}"

但是有没有一种方法可以在构造 f 字符串时加入 for 循环,而不必一个一个地提供所有列表索引?

编辑:Quantityquantityquantity 恰好是同一个字符串,但它们可能是类似 'Quantity 10、rank 20 kingdom and sovrenity 30'。因此,数字之间会有不同的文本。

您可以使用列表理解

", ".join([f"Quantity {x}" for x in mylist])

如果你关心大写......

f"Quantity {mylist[0]}, " + ", ".join([f"quantity {x}" for x in mylist[1:]])

编辑:如果单词会有所不同,您需要将它们压缩以便理解

words=["word1", "word2", "word3"]
numbers=[10,20,30]

', '.join([str(word) + " " + str(number) for word,number in zip(words,numbers)]).capitalize()