1 回答

TA贡献2003条经验 获得超2个赞
您可以使用每个子列表中的扁平值创建一个字典:
d = [[[[['p'], ['q'], ['t'], ['u']], [['r'], ['s'], ['v'], ['w']]]], [[[['p'], ['q'], ['t'], ['w']], [['r'], ['s'], ['v'], ['u']]]], [[[['p'], ['q'], ['v'], ['u']], [['r'], ['s'], ['t'], ['w']]]], [[[['p'], ['q'], ['v'], ['w']], [['r'], ['s'], ['t'], ['u']]]], [[[['p'], ['s'], ['t'], ['u']], [['r'], ['q'], ['v'], ['w']]]], [[[['p'], ['s'], ['t'], ['w']], [['r'], ['q'], ['v'], ['u']]]], [[[['p'], ['s'], ['v'], ['u']], [['r'], ['q'], ['t'], ['w']]]], [[[['p'], ['s'], ['v'], ['w']], [['r'], ['q'], ['t'], ['u']]]], [[[['r'], ['q'], ['t'], ['u']], [['p'], ['s'], ['v'], ['w']]]], [[[['r'], ['q'], ['t'], ['w']], [['p'], ['s'], ['v'], ['u']]]], [[[['r'], ['q'], ['v'], ['u']], [['p'], ['s'], ['t'], ['w']]]], [[[['r'], ['q'], ['v'], ['w']], [['p'], ['s'], ['t'], ['u']]]], [[[['r'], ['s'], ['t'], ['u']], [['p'], ['q'], ['v'], ['w']]]], [[[['r'], ['s'], ['t'], ['w']], [['p'], ['q'], ['v'], ['u']]]], [[[['r'], ['s'], ['v'], ['u']], [['p'], ['q'], ['t'], ['w']]]], [[[['r'], ['s'], ['v'], ['w']], [['p'], ['q'], ['t'], ['u']]]]]
def flatten(_d):
return [[c for [c] in _d[0][0]], [c for [c] in _d[0][1]]]
def match(a, b):
return all(c == d for c, d in zip(sorted(a), sorted(b)))
_d = {i:flatten(a) for i, a in enumerate(d)}
result = [a for i, a in enumerate(d) if not any(match(_d[i], _d[c]) for c in range(i))]
输出:
[[[[['p'], ['q'], ['t'], ['u']], [['r'], ['s'], ['v'], ['w']]]],
[[[['p'], ['q'], ['t'], ['w']], [['r'], ['s'], ['v'], ['u']]]],
[[[['p'], ['q'], ['v'], ['u']], [['r'], ['s'], ['t'], ['w']]]],
[[[['p'], ['q'], ['v'], ['w']], [['r'], ['s'], ['t'], ['u']]]],
[[[['p'], ['s'], ['t'], ['u']], [['r'], ['q'], ['v'], ['w']]]],
[[[['p'], ['s'], ['t'], ['w']], [['r'], ['q'], ['v'], ['u']]]],
[[[['p'], ['s'], ['v'], ['u']], [['r'], ['q'], ['t'], ['w']]]],
[[[['p'], ['s'], ['v'], ['w']], [['r'], ['q'], ['t'], ['u']]]]]
添加回答
举报