我想从嵌套列表中删除重复项和排列。
输入:
[[-1, 0, 1], [-1, 1, 0], [-1, 2, -1], [-1, 2, -1], [-1, -1, 2]]
预期输出:
[[-1, 0, 1], [-1, 2, -1]]
我尝试使用列表理解,但最终输出为
[[-1, 1, 0], [-1, 2, -1], [-1, 0, 1], [-1, -1, 2]]
这是我尝试过的。
a = [[-1, 0, 1], [-1, 1, 0], [-1, 2, -1], [-1, 2, -1], [-1, -1, 2]]
b_set = set(tuple(x) for x in a)
b = [ list(x) for x in b_set ]
print(b)
最佳答案
结果符合预期,因为 [-1, 0, 1] != [-1, 1, 0]
。如果您想确保内部元组被视为相等,您可以对它们进行排序:
b_set = set(tuple(sorted(x)) for x in a)
关于python - 如何删除嵌套列表中的重复项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54176286/