首页 > 解决方案 > 将具有重复值的键存储到字典中

问题描述

我有一本字典,想要存储前三个字母相同的键的名称。例如:

dictionary = {'apple': 'ams2.dfgsdfgsdfg', 'orange': 'bru1.asdfartq', 'grape': 'cph.dfsdfgsdgsdf', 'banana': 'ams4.ewrtwerth' 

由于我希望输出打印具有重复值的键列表(查看前 3 个字母),因此最终输出将打印如下列表:

list = ['apple', 'banana']

如果有人可以通过创建代码来帮助这个菜鸟,将不胜感激!

标签: pythonpython-3.xlist-comprehension

解决方案


您可以使用正则表达式来捕获相似项目开头的 3 个字母。然后使用列表推导找到具有相似 3 个单词的项目的键。决定使用zip。刚刚实现字典不再具有属性iteritems()。说不出为什么

import re

 a = "".join(re.findall(r"(\b\w{3}).*?\1"," ".join(dictionary.values())))    
     [m for m,x in zip(dictionary,dictionary.values()) if a in x]

 ['apple', 'banana']

推荐阅读