嵌套列表中所有元素的Python集合

我试图通过这个函数让嵌套列表中的所有元素以set的形式返回,但发生了错误。

list = [[0,4], [2,4], 5, [[[7,2], 3], 4]]

def setof(list):
  bag = set()
  for item in list:
    try: bag.add(item)
    except TypeError: bag.add(setof(item))
  return bag

print(setof(list))

Errors:
try: bag.add(item)
TypeError: unhashable type: ‘list’
During handling of the above exception, another exception occurred:
print(setof(list))
except TypeError: bag.add(setof(item))
TypeError: unhashable the: ‘set’

有谁知道为什么会出现这种情况,或者如何解决,或者有更好的方法吗?这是我第一次来这里。谢谢!我想让所有的元素都能通过这个函数以set的形式返回,但是出现了错误。

解决方案:

bag.add(setof(item)) 是试图将一个集合作为元素添加到 bag,而不是合并套路。使用

bag.update(setof(item))

给TA打赏
共{{data.count}}人
人已打赏
未分类

我正在尝试接受我的android sdk授权,但它显示我有java home变量未设置的错误。

2022-9-9 9:21:16

未分类

写入csv:当行中的项目为空时,列被移位 (Python)

2022-9-9 9:21:18

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索