【发布时间】:2025-12-08 17:30:01
【问题描述】:
我有一个像这样创建的 2D 列表:
Z1 = [[0 for x in range(3)] for y in range(4)]
然后我继续填充此列表,使Z1 看起来像这样:
[[1, 2, 3], [4, 5, 6], [2, 3, 1], [2, 5, 1]]
我需要提取Z1的唯一 1x3元素,不考虑顺序:
Z2 = makeUnique(Z1) # The solution
Z2 的内容应该是这样的:
[[4, 5, 6], [2, 5, 1]]
如您所见,我认为 [1, 2, 3] 和 [2, 3, 1] 是重复的,因为我不关心顺序。
还请注意,单个数值可能在元素中出现多次(例如 [2, 3, 1] 和 [2, 5, 1]);只有当所有三个值一起出现不止一次(以相同或不同的顺序)时,我才认为它们是重复的。
我已经搜索了几十个类似的问题,但似乎没有一个能解决我的确切问题。我是一个完整的 Python 初学者,所以我只需要朝着正确的方向前进。
我已经试过了:
Z2= dict((x[0], x) for x in Z1).values()
Z2= set(i for j in Z2 for i in j)
但这不会产生所需的行为。
非常感谢您的帮助!
路易斯·瓦兰斯
【问题讨论】:
-
欢迎您!看起来您希望我们为您编写一些代码。虽然许多用户愿意为陷入困境的编码人员编写代码,但他们通常只有在发布者已经尝试自己解决问题时才会提供帮助。展示这项工作的一个好方法是包含您迄今为止编写的代码、示例输入(如果有的话)、预期输出以及您实际获得的输出(控制台输出、回溯等)。您提供的详细信息越多,您可能收到的答案就越多。检查FAQ 和How to Ask。