gpt4 book ai didi

python - 将使用 lambda 的字符串连接转换为 f 字符串

转载 作者:太空宇宙 更新时间:2023-11-03 20:23:30 25 4
gpt4 key购买 nike

我正在尝试了解 Python 3 中 f 字符串的高级用法,但我似乎无法弄清楚它们与 lambda 函数的用法。例如,当您使用 lambda 来定义字符串中的某些值的字符串连接时,您如何使用 f 字符串?当其中一个值使用 if 函数来定义该值时更是如此。

例如,我尝试过以下操作:

        cmd_out = reduce(lambda acc, x: f'{acc} -v {x["Source"]}:{x["Destination"]}'
f'{(":ro" if not x["RW"] is True else " ")} {mounts}')

但这行不通。

这是原始的连接。

cmd_out = reduce(lambda acc,x: acc + "-v " + x["Source"] + ":" + x["Destination"]+ (":ro" if not x["RW"] is True else "") + " ", mounts, "")

因此,我希望能够使用 f 字符串来简化过程并减少错误,而不是使用连接。有什么想法吗?

最佳答案

您尝试在 lambda 表达式中包含 mounts,但这就是 reduce 应该迭代的内容。我不会在这里使用reduce;请改用 join 方法。

cmd_out = " ".join(f'-v {x["Source"]}:{x["Destination"]}{"" if x["RW"] else ":ro"}'
for x in mounts)

关于python - 将使用 lambda 的字符串连接转换为 f 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58001809/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com