【发布时间】:2021-08-24 10:09:31
【问题描述】:
我有一本包含几乎相似键和其他键的字典。我需要使用几乎相似的键提取所有值。 示例:
example_dictionary = {'ab1':'1', 'ab2':'2','ab3':'3', 'cd1':'4', 'cd2':'5', 'cd3':'6', 'ef1':'7', 'sdsf':'8', 'ad':'9', 'ef2':'10', 'ef3':'11'}
keymatch = ['ab','cd','ef']
这里我们有cd1 与ef1, cd2 与ef2, cd3 与ef3 的映射。
我需要的结果是所有ab1, ab2, ab3, cd1, cd2, cd3, ef1, ef2, ef3.的值
我试过了:
abList = [val for key, val in example_dictionary.items() if keymatch[0] in key]
这给了我ab1, ab2, ab3的所有值
我试过了:
result = [val for key, val in example_dictionary.items() for item in keymatch if item in key]
这给了我ab1, ab2, ab3, cd1, cd2, cd3, ef1, ef2, ef3 的所有值
但第二种方法的问题是我无法将cd1 与ef1 映射。
有人可以提供更好的方法吗?
【问题讨论】:
标签: python python-3.x dictionary dictionary-comprehension