python - 如何删除嵌套列表中的重复项?

标签 python python-3.x list

我想从嵌套列表中删除重复项和排列。

输入:

[[-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/

相关文章:

python - 使用 Python 2.7 解析 url() 值的 CSS

python-3.x - MacOS BigSur 上的 Pyinstaller 无法构建基本的 PyQt5 应用程序

Linux 内核代码中的 C 宏扩展

java - 输出空值

python - 获取模块为 __main__ 的类对象的模块名称

c# - 替换大文本文件中的长列表单词

python - python中的BFS来自预序和中序

python - Fastq 解析器不采用空序列(和其他边缘情况)。 Python

python - 如何在 Python 中将 True 切换为 False

python-3.x - Odoo 11 安装在 CentoS 7 上