python - 将具有重复值的键存储到字典中
问题描述
我有一本字典,想要存储前三个字母相同的键的名称。例如:
dictionary = {'apple': 'ams2.dfgsdfgsdfg', 'orange': 'bru1.asdfartq', 'grape': 'cph.dfsdfgsdgsdf', 'banana': 'ams4.ewrtwerth'
由于我希望输出打印具有重复值的键列表(查看前 3 个字母),因此最终输出将打印如下列表:
list = ['apple', 'banana']
如果有人可以通过创建代码来帮助这个菜鸟,将不胜感激!
解决方案
您可以使用正则表达式来捕获相似项目开头的 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']
推荐阅读
- python - 十进制到罗马转换程序在 Python 中给出错误答案
- parsing - Avro 多个枚举 int 相同类型(avro.SchemaParseException:无法重新定义)
- yaml - 如何根据给定的 openapi 3.0.3 yaml 文件生成 Quarkus rest JX-RS 服务
- c# - 通过反射解析字符串路径,如 WPF 绑定
- angular - 组件之间的角度和传递数据:解决保护与服务注入的用例
- python - 使用for循环将df数据插入sqlite
- c++ - 如果一个线程失败,我如何使用 std::barrier 让其他线程返回?
- git - 如何在 git-patch 中找到问题?
- java - 归零 II
- python - 使用 Python 在数据框列中设置标志和消息