我有一个列表,其中的项目是字典。字典值采用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>]]
答案 0 :(得分:3)
因为您只是返回了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()]