【发布时间】:2019-11-08 01:22:07
【问题描述】:
假设您有两个列表,例如:
list1 = [-2, -1, 0, 1, 2, 3]
list2 = [4, 1, 0, 1, 4, 9]
...两个列表被压缩到字典中生成:
dict1 = {-2: 4,
-1: 1,
0: 0,
1: 1,
2: 4,
3: 9}
...其中 list1 是键,列表 2 是值。
您会注意到 list2 中的某些元素是重复的,例如 4 和 1。它们在列表 2 中出现了两次,因此出现在字典中。
-2 corresponds to 4
2 corresponds to 4
-1 corresponds to 1
1 corresponds to 1
我正在尝试找出一种方法使用列表或字典来识别 list2 中的重复项,并从列表 1 中返回它们的键。
所以我期望从上面的两个列表中返回的值是:
(-2, 2) #From list 1 since they both correspond to 4 in list2
(-1, 1) #from list 1 since they both correspond to 1 in list2
在这个例子中,list2 恰好是 list1 的平方。但情况并非总是如此。
所以最终,我正在寻找一种基于重复值返回这些键的方法。
关于如何解决这个问题的任何想法?我能够识别 list2 中的重复项,但我完全不知道如何在列表 1 中识别它们的对应值。
【问题讨论】:
-
你能重新提出这个问题吗?完全糊涂了
-
我重新整理了这个问题,如果造成混淆,请见谅!
-
您有重复项(groupby,其中 count >1,选择或屈服)。对于 list2 中的每个重复项,您可以生成所有对应的键。
-
@Soleil 我是否在列表 2 上分组?这将如何产生 list1 中的值?
标签: dictionary python-3.7