【发布时间】:2020-05-08 14:56:00
【问题描述】:
def intersection(list_1, list_2):
return map(lambda list0 : list(dict.fromkeys(list0)), [x for x in list_1 if x in list_2 ])
print(intersection([5, 5, 6, 6, 7, 7], [1, 5, 9, 5, 6]))
在 lambda 中删除重复项的 func 和在 [ ] 中的列表(来自列表理解)通过映射转移到 func。 当我尝试将它变成一个列表/str/join 时,就会出现这个错误。 我能做什么,为什么会这样? 我添加了一个示例运行,假设打印 [5,6] 但返回错误。 请注意,列表本身 ([ ]) 单独返回:[5, 5, 6, 6] 因为原始列表中有重复项。
另外,如果我将代码从一行更改为阻止 og 代码,它可以工作:
def intersection(list_1, list_2):
my_list = [x for x in list_1 if x in list_2]
small_func = lambda list0 : list(set(list0))
return small_func(my_list)
返回:[5,6]
谢谢!
【问题讨论】:
-
请避免将代码放在屏幕截图中。编辑此问题以包含您遇到问题的代码,以及使用的变量示例和预期输出。
-
@HampusLarsson 我改变了问题并使其成为要求
标签: python function dictionary join lambda