python - lambda 函数返回函数名
问题描述
我有一个列表,其中的项目是字典。字典值采用 unicode 格式,我正在尝试将 unicode 值与字符串进行比较。所以,我尝试了一个下面的 lambda 函数,期望将 unicode 转换为字符串;
a=[(lambda x: x.unicode('UTF-8') ) for i in paid_submissions[0].values()]
print(a)
[在 0x11335db18>,在 0x113357d70>,在 0x113357b90>,在 0x113357a28>,在 0x1133b5050>,在 0x1133b50c8>]
解决方案
因为您只是返回 lambda 对象,而没有在任何东西上调用它。如果我了解您要正确执行的操作,则需要i
像这样调用 lambda。
a = [(lambda x: x.unicode('UTF-8'))(i) for i in paid_submissions[0].values()]
但是lambda
表达方式很浪费。这可以更容易(也更有效)写成
a = [i.unicode('UTF-8') for i in paid_submissions[0].values()]
推荐阅读
- gnupg - 您如何使用 gpg 验证加密和签名的文件?
- r - 我可以控制 tidyjson 如何加入嵌套数组吗?
- regex - 用正则表达式分隔单词(不按特定顺序)
- python-3.x - 如何从某个 ROI 中提取所有像素值,然后将其存储为 CSV 文件,然后再次使用该 csv 文件取回该 ROI
- python - How to not see "None" output when getting user input(): input(print("Your key:"))
- sql - 在 SQL Server 中将 XML UTF-8 编码字符串转换为 XML 数据类型
- javascript - StencilJS 在 HTML 文件中使用组件
- python - 无法在 Pythonanywhere 上使用 pyvirtualdisplay + selenium + firefox 下载 csv
- python - 如何在pytorch中修改张量数据维度,谢谢
- c - 如果文件具有重音字符(例如“á”),我如何从 C 中读取文件?