繁体   English   中英

将带有 lambda 的字符串连接转换为 f 字符串

Converting string concatenation with lambda to f strings

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

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

例如,我尝试了以下方法:

        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 字符串来简化过程并减少错误,而不是使用连接。 有什么想法吗?

1 个回复

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

cmd_out = " ".join(f'-v {x["Source"]}:{x["Destination"]}{"" if x["RW"] else ":ro"}'
                   for x in mounts)
1 如何在javascript中将带有连接的字符串转换为真正的字符串?

我在页面响应中有一个看起来像这样的字符串(保存为自动响应): 为了捕捉到这一点,我使用: 这现在给了我这个字符串: 如果我将其直接放入hexMD5()方法中,它会认为' 、 +符号和空格是秘密的一部分。 我尝试使用replace()删除它们,如下所示: 但是,当我然后执行hexMD ...

2 将带有字符的列表转换为字符串(Python)

我正在尝试通过Raspberry Pi上的SPI端口读取字符串。 这是我测试端口的代码: 结果是“地狱插入乱码 ”,因此它在第四个字符之后失败。 我尝试发送“ Hello World!” 我发送的数据在列表中被格式化为字符,例如“ Hello”将看起来像[72、101、108、10 ...

3 如何将带有标签的字符串转换为xml?

例如,解析下面的字符串并使用java从中生成有效的xml文档是最好的方法。 因此,例如,'\\ b'将被转换为<b> </b> ,空格将被转换为<b> </b> </space> ,依此类推。我对xml相当陌生,所以问这个非常愚蠢的问 ...

2010-07-26 10:01:46 3 1543   java/ xml
4 将带有 json 的字符串转换为列表

我正在尝试将 JSON 字符串(必须是列表)转换为对象列表: 这是我的 Service.class: 这是我的模型: 但我得到了例外: 无法反序列化java.util.LinkedHashMap实例 所以我尝试了不同的方式: 我获得了: InvalidDefiniti ...

6 将带有hexa的字符串转换为byte

我有一个值为0xE20x800x93的字符串。 我尝试像这样转换它们并且它有效 但我想要的是没有进行显式转换,我需要将其转换为字节数组。 或者至少是一种转换为字节对象的方式,而不是byte []对象。 ...

2013-06-24 00:09:41 2 132   java
7 将带有括号的字符串转换为嵌套列表

我想这样转换一个字符串: 到这样的列表: 有一个简单的解决方案吗? 编辑:它应该适用于任何数量和深度的括号,但仅适用于有效的字符串(没有单个括号) edit2:空格可以看作是分隔符,如果不匹配,可能会引发错误或无法正常工作,我不在乎。 它仅适用于格式正确的字符串。 ...

9 将带有$的字符串值转换为double

尚未在SO上找到类似的问题(关于“ $”)。 我正在跟踪此示例 ,尝试扩展一个现有方法将字符串转换为双精度型。 代码的一般结构如下所示: 这可行。 当Double.TryParse()方法的IFormatProvider 参数设置为CultureInfo.InvariantCu ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM