例如给定字典
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
是否有可能更有效地做到这一点?
答案 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}
>>>