我想以允许我以相同方式更改另一个相应列表的方式删除 python 列表中的重复项。在下面的示例中,original 是我要删除重复项的列表。 key 中与 original 共享相同索引的每个元素相互对应:
original = [a,a,a,3,4,5,b,2,b]
key = [h,f,g,5,e,6,u,z,t]
所以我想删除 original 中的重复项,这样无论我从 original 中删除什么元素,我都会删除 key 中的相应元素(具有相同索引)。我想要的结果:
deduplicated_original = [a,3,4,5,b,2]
deduplicated_key = [h,5,e,6,u,z]
我可以使用 list(set(original)) 获取deduplicated_original 但是我无法获取相应的deduplicated_key
请您参考如下方法:
您可以使用 set跟踪重复项和enumerate()迭代原始列表的索引/值:
seen = set()
lst = []
for i, v in enumerate(original):
if not v in seen:
lst.append(key[i])
seen.add(v)
print(lst)
