Python 如何使用f{}将列表转换为不同的格式并添加字符串

Python 如何使用f{}将列表转换为不同的格式并添加字符串,python,Python,名单如下 second_list = ['C'] first_list = ['Z A', 'Z B'] third_list = ["D"] 预期结果如下 第一个列表是Z.A,Z.B第二个列表是C,第三个列表是D 伪码 print (f'the firstlist is {",".join(first_list)} the second_list is {",".join(second_list)} and thirdlist

名单如下

second_list = ['C']
first_list =  ['Z A', 'Z B']
third_list  = ["D"]
预期结果如下

第一个列表是Z.A,Z.B第二个列表是C,第三个列表是D

伪码

print (f'the firstlist is {",".join(first_list)} the second_list is {",".join(second_list)} and thirdlist is {",".join(third_list)}')
电流输出
第一个列表是Z A,Z B第二个列表是C,第三个列表是D

f字符串中的表达式可以是任意复杂的,包括从现有列表构造另一个列表,其中空格由句点替换,列表作为一个整体转换为逗号分隔的字符串

但是,它非常复杂,您可能需要在函数中执行该位,例如:

second_list = ['C']
first_list =  ['Z A', 'Z B']
third_list  = ["D"]

def morph(myList):
    return ",".join([item.replace(" ",".") for item in myList])

print (f'the firstlist is {morph(first_list)} the second_list is {morph(second_list)} and thirdlist is {morph(third_list)}')
这将根据要求:

the firstlist is Z.A,Z.B the second_list is C and thirdlist is D
将其放入函数的优点是,如果将复杂性保留在f字符串中,则只有一个地方可以更改,而不是三个。它还使它总体上更具可读性

集中复杂性的一个例子是,如果您决定用单个句点替换字符串中的任意数量的空格(显然大于零):

使用该代码,您仍然可以获得
Z.A
,即使
Z
A
之间有多个空格,您可以在
fstring中使用
replace(“,”)

print (f'the firstlist is {",".join(first_list).replace(" ",".")} the second_list is {",".join(second_list).replace(" ",".")} and thirdlist is {",".join(third_list).replace(" ",".")}')

您是否希望它将第一个列表中的空格替换为句点?
print (f'the firstlist is {",".join(first_list).replace(" ",".")} the second_list is {",".join(second_list).replace(" ",".")} and thirdlist is {",".join(third_list).replace(" ",".")}')