通过遍历列表构造f字符串

时间:2020-03-09 15:42:52

标签: python list for-loop f-string

我想知道如何去做:

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'。因此,数字之间会有不同的文字。

1 个答案:

答案 0 :(得分:2)

您可以使用列表理解

", ".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()