python - 如何检查字典中是否存在具有特定模式的值?
问题描述
我想在字典中找到前 N 个字符与另一个字符串相同的值。
例如:
我想获取前 4 个字符为“abcd”的所有值并返回其键
string = "abcd"
dict = {'k1' : 'abcd4545', 'k2' : 'abab1234', 'k3' : 'abcd789456'}
结果:应该返回 k1 和 k3
我认为可以通过循环字典中的所有值并获取前 N 个字符进行比较来完成。
但是我需要处理一个包含大量数据的字典,有没有更好的方法来做到这一点?
解决方案
不,除了迭代值并检查条件之外没有其他解决方案,可以通过列表理解来实现循环:
[k for k, v in dict.items() if v.startswith(string)]
推荐阅读
- python - 测试在 Django 中返回的多个对象(模拟?)
- javascript - Javascript 不适用于单击汉堡包以打开和关闭汉堡包
- javascript - 如何通过javascript或jquery在表单中设置多个默认按钮?
- asp.net - 我可以用什么来代替 ASP.NET MVC 5 中的 [AllowHtml] 属性?
- spring - 识别运行 Spring Boot 应用程序的平台
- docker - 构建 Dockerfile 时 AzureDevops 找不到 csproj 文件
- java - 无法在 http://localhost:8080/business-central 上启动 jbpm
- amadeus - 自助预订流程,包括付款
- pyspark - 如何在 pyspark 的数据透视表中添加/包含标题行和总计行?
- ruby-on-rails - Spree 自定义控制器中的实例变量 - 自动分配?