通过对列表进行循环来构造 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 循环,而不必一个一个地提供所有列表索引?
编辑:Quantity
、quantity
和 quantity
恰好是同一个字符串,但它们可能是类似 '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()
我想知道如何进行:
mylist = [10, 20, 30]
对此:
'Quantity 10, quantity 20 quantity 30'
我知道可以用:
mystring = f"Quantity {mylist[0]}, quantity {mylist[1]} quantity {mylist[2]}"
但是有没有一种方法可以在构造 f 字符串时加入 for 循环,而不必一个一个地提供所有列表索引?
编辑:Quantity
、quantity
和 quantity
恰好是同一个字符串,但它们可能是类似 '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()