TypeError:“ set”和“ tuple”的实例之间不支持“ <”

时间:2020-04-04 18:13:42

标签: python python-3.x list set higher-order-functions

我不断收到以下错误:TypeError: '<' not supported between instances of 'set' and 'tuple',我不确定为什么吗?

这是我的代码:

print(reduce(lambda x,y: x<y, set(list(map(tuple,list1))), set(list(map(tuple,list2)))))

1 个答案:

答案 0 :(得分:3)

如果我正确地理解了问题,则可能的简化方式是:

set(map(tuple, list1)).issubset(set(map(tuple, list2)))

或使用您的符号:

set(map(tuple, list1)) < set(map(tuple, list2))

一些评论:

  • 无需构建这些中间列表。 set可以像list一样进行迭代
  • 您只需要检查一个集合是否是另一个集合的子集。减少在这里真的没有意义