使用if函数简化dict列表

时间:2014-11-30 15:05:56

标签: python

这个函数可以用更Pythonic更短的方式编写吗?

def getExtra(d):
    l = list()
    for x in list(d.items()):
        if x.startswith('extra'):
        l.append(x)
    return l

1 个答案:

答案 0 :(得分:1)

是的,这就是list comprehension存在的原因:

[x for x in d if x.startswith('extra')]
# iterate on keys, or you can modify it to iterate on values

您确定要list(d.items())吗?您的代码无效,因为list(d.items())会返回元组,而元组没有startswith函数。