如何在从反向字典到列表的重复项中进行迭代



我希望能够用字典中的一组值来反转列表。然而,有些值是重复的,当它被带入反转列表时,它只使用相同的值。

my_list=(1,2,3,4(

my_dict={‘苹果’:1,‘橙色’:2,‘香蕉’:3,‘奇异果’:3、‘梨’:4}

我有它,所以如果我想让列表显示水果,它会反转字典并打印出水果

new_list = []
for a in my_list:
reversed_dict = {my_dict[k]:k for k in my_dict}
fruit = [reversed_dict[elem] for elem in a]
new_list.append(fruit)

这会将列表打印为:[苹果、桔子、奇异果、奇异果和梨]

我希望它能够检查重复项,因为3在列表中出现了两次,如果已经说过相同的选项(Kiwi(,那么将其切换到字典中的另一个键。所以理想情况下它会显示出来。

这会将列表打印为:[苹果、桔子、香蕉、奇异果、梨]

我们知道字典中的所有键都是唯一的。因此,我们可以对字典进行迭代,只需检查值是否在my_list中。

for (key, value) in my_dict.items():
if value in my_list:
print(key)

可能相关,也可能不相关,但如果my_dict很大,则在检查值是否在my_list中时,需要将my_list转换为一个集以获得更好的性能。

my_set = set(my_list)

最新更新