我试图将焦点集中在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字符串来简化过程并减少错误,而不是使用concatation。 有什么想法吗?

#1楼 票数:0

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

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

  ask by fmakawa translate from so

未解决问题?本站智能推荐:

1回复

如何在 f 字符串中使用 lambda 函数并有条件地返回值?

我在谷歌上搜索了很多,但似乎找不到关于这个问题的任何信息,或者因为我是一个菜鸟,所以我没有搜索正确的关键字。 我确实找到了一个问题,但它在 lambda 函数中使用了一个 f 字符串,这与我需要的完全相反。 所以我有一个名为tc的计数器标志,它检查两个数字的总和是否超过某个预定义的常量。 计数器标
4回复

+ 与 f-string 的字符串连接

假设我有两个变量: 我可以通过两种方式连接它们; 使用+ : >>> a + b "helloworld" 或者使用 f 字符串: >>> f"{a}{b}" "helloworld" 哪种方式更好或更好的做法? 有人告诉我 f-string 在性能和
3回复

如何将字符串转换为 f 字符串?

我正在阅读有关 python 新 f-strings 的博客,它们看起来非常整洁。 但是,我希望能够从字符串或文件加载 f 字符串。 我似乎找不到执行此操作的任何字符串方法或其他函数。 从我上面链接中的例子来看: 但是如果我有一个字符串s呢? 我希望能够 eff-ify s ,如下所示:
5回复

将字符串转换为 f 字符串

如何将经典字符串转换为 f 字符串? 输出: The answer is {variable} 期望输出: The answer is 42
1回复

从字符串到 fstring [重复]

这个问题在这里已经有了答案: 将字符串转换为 f 字符串(5 个回答) 7 个月前关闭。 我正在尝试从 JSO
1回复

带有空字符串的条件 f 字符串格式

我正在开发一个加载在 Excel 文件中的小型代码生成应用程序(使用pandas ExcelFile + xlrd ),然后将其解析为数据xlrd ( ExcelFile.parse )以进行多个类似 SQL 的操作。 然后使用map和lambda函数将存储的数据作为列表返回给文件编写器,并在特定字
3回复

结合 f 字符串和原始字符串文字

我想知道如何在使用r同时使用 f 字符串来获取原始字符串文字。 我目前有它如下但希望允许任何名称替换Alex我正在考虑添加一个 f 字符串,然后用花括号替换Alex并将用户名放在里面,但这不适用于r 。
1回复

如何处理 f 字符串中的错误?

我正在尝试处理 f 字符串中的错误,但我的尝试似乎不起作用。 有没有办法做到这一点?