python - 从 3 个深度嵌套列表中删除重复项 - python - sympy
问题描述
我正在使用 sympy 并且我有一个包含一些重复项的列表(顺序无关紧要,我仍然认为它们是重复的)并且我正在寻找一种删除它们的方法。
清单是休闲的,
A=[[[m, b], [f, g]],
[[g, h], [f, b]],
[[f, g], [m, b]]]
我会考虑[[m, b], [f, g]]
和[[f, g], [m, b]]
一样,并试图找出一种方法来列出删除它们的列表。它看起来像这样,
B=[[[m, b], [f, g]],
[[g, h], [f, b]]].
它保留哪个副本并不重要,只要只剩下 1 个。
我试过使用 set 函数,但它给出了 TypeError: unhashable type: 'list' 错误,我不确定。任何意见或建议都会受到赞赏。
解决方案
A = [[['m', 'b'], ['f', 'g']], [['g', 'h'], ['f', 'b']], [['f', 'g'], ['m', 'b']], [['l', 'k'], ['d', 'c']]]
B = []
C = []
for i in A:
for j in i:
if j not in B:
B = B + [j]
c = 0
c1 = 1
counter = int(len(B) / 2)
for k in range(counter):
C.append([B[k+c], B[k+c1]])
c = c + 1
c1 = c + 1
print(B)
print(C)
推荐阅读
- python-3.x - 在使用 parsedatetime 从输入字符串中获取时间结构后,如何将字符串的其余部分切出?
- tensorflow - TensorflowJS:输出的不同形状
- reactjs - 单击“取消”按钮时跳过对 React-Final-Form 的验证
- swift - 如何控制类对象实例自动转换为字符串?
- parsing - 解析声音文件
- matlab - MATLAB gui 在新图形而不是指定轴中绘制数据
- swift - Swift Combine .debounce 内存泄漏?
- c# - 如何使用字符串为 Action Result Ok() 编写单元测试?
- java - android - 比较两个非常大的 ArrayList,其中一个是从 firebase 检索到的
- qt - QML:如何将文件从资源管理器拖到我的 Qt Quick 应用程序?