我有一个python中的元组和列表列表:
gammagammalambda = [[[('p', 'u'), ('r', 'w')], [[[], ['q', 's'], ['t', 'v'], []]]], [[('p', 'w'), ('r', 'u')], [[[], ['q', 's'], ['t', 'v'], []]]], [[('r', 'u'), ('p', 'w')], [[[], ['q', 's'], ['t', 'v'], []]]], [[('r', 'w'), ('p', 'u')], [[[], ['q', 's'], ['t', 'v'], []]]]]
在哪里
[[('p', 'u'), ('r', 'w')], [[[], ['q', 's'], ['t', 'v'], []]]]
与相同
[[('r', 'w'), ('p', 'u')], [[[], ['q', 's'], ['t', 'v'], []]]]
现在,我想去掉这些双元素,以便
[[[('p', 'u'), ('r', 'w')], [[[], ['q', 's'], ['t', 'v'], []]]], [[('p', 'w'), ('r', 'u')], [[[], ['q', 's'], ['t', 'v'], []]]]]
为此,我想使用列表理解,我尝试了
main_set = set(tuple(frozenset(innermost_list) for innermost_list in sublist) for sublist in gammagammalambda)
但我得到了一个错误:
TypeError: unhashable type: 'list'
希望你能帮我。你知道吗
一种选择是:
输出
创建一个字典,其中键表示必须唯一的值,对于每个键,设置为
gammagammalambda
的整个元素的值,最后唯一的值就是字典d
的值。你知道吗或者更直接的选择:
输出
与this answer类似,
list
是不可散列的,tuple
和frozenset
是可散列的。你知道吗您可以相应地定义一个“唯一性键”,并使用^{} ^{} recipe ,也可以在第三方库中作为^{} 或^{} 使用:
相关问题 更多 >
编程相关推荐