我有一个字典,其中我有与每个键相关联的值:
mail_info={'2367': ['Payment Claim'], '2610': ['Managing Contractor Advice '], '2453': ['Variations'], '3453': ['Trade Package Variation Recommendation'], '654': ['Response to Variation']......}
我想提取所有键值对,其中“Variation”或“Variations”这个词是字符串的一部分。
我尝试了以下命令:
[(k, v) for (k, v) in mail_info.items() if 'Variations' in v]
但这只会返回完全匹配。
有人可以建议一个正确的方法吗?也许使用正则表达式(虽然没有必要)?
答案 0 :(得分:0)
我建议将这些列表转换为字符串,然后检查结果字符串中的短语。类似的东西:
new_dict = {}
for key in mail_info:
string = ''.join(mail_info[key])
if 'Variation' in string:
new_dict[key] = string
答案 1 :(得分:0)
不是最优雅的解决方案,但应该适合你
mail_info={'2367': ['Payment Claim'],
'2610': ['Managing Contractor Advice '],
'2453': ['Variations'],
'3453': ['Trade Package Variation Recommendation'],
'654': ['Response to Variation']
}
new_d = {key:mail_info[key] for key in mail_info if 'Variation' in mail_info[key][0]}
print(new_d)