使用前缀搜索字典

时间:2014-10-15 10:16:19

标签: python python-2.7 dictionary

例如给定字典

dic={"abcd":2, "abce":2, "abgg":2}

我需要使用字符串的前缀搜索字典,即,如果给出“abc”,它将返回两个条目

{"abcd":2, "abce":2}

一种显而易见的方式:

dic1={}
for k, v in dic.items():
    if(k.startswith("abc")):
        dic1[k]=v

是否有可能更有效地做到这一点?

1 个答案:

答案 0 :(得分:2)

试试这个,

>>> d={"abcd":2, "abce":2, "abgg":2}
>>> { k:v for k,v in d.iteritems() if k.startswith('abc') }
{'abcd': 2, 'abce': 2}
>>>