如何从只知道部分值字符串的字典中搜索键、值对?

2024-04-25 09:26:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个字典,其中每个键都有相应的值:

mail_info={'2367': ['Payment Claim'], '2610': ['Managing Contractor Advice '], '2453': ['Variations'], '3453': ['Trade Package Variation Recommendation'], '654': ['Response to Variation']......}

我想提取所有关键字、值对,其中单词“variance”或“variances”是字符串的一部分。你知道吗

我尝试了以下命令:

[(k, v) for (k, v) in mail_info.items() if 'Variations' in v]

但这只会返回完全匹配的结果。你知道吗

有人能建议一个正确的方法吗?可能使用regex(尽管不是必需的)?你知道吗


Tags: ininfopackage字典responsemailpaymentadvice
2条回答

不是最优雅的解决方案,但应该适合你

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)

我建议将这些列表转换为字符串,然后检查结果字符串中的短语。比如:

new_dict = {}

for key in mail_info:
    string = ''.join(mail_info[key])
    if 'Variation' in string:
        new_dict[key] = string

相关问题 更多 >