查找defaultdict(列表)python中的元素数

查找defaultdict(列表)python中的元素数,python,Python,一个简短的问题?我想知道是否有一个pythonic的方法来获得以下内容 我有一个默认目录(列表) 有没有一种类似python的方法来编写只返回列表长度大于“n”的键的函数 比如说 def return_keys_based_on_value_length(num,dictionary): key_list = [] for k,v in dictionary: if len(v)>= num: key_list.append(k)

一个简短的问题?我想知道是否有一个pythonic的方法来获得以下内容

我有一个默认目录(列表)

有没有一种类似python的方法来编写只返回列表长度大于“n”的键的函数

比如说

 def return_keys_based_on_value_length(num,dictionary):
    key_list = []
    for k,v in dictionary:
         if len(v)>= num:
            key_list.append(k)
    return key_list
有没有类似蟒蛇的方法? 谢谢

结果是
['a']

foo = {"a":[1,2,3], "b":[3], "c":[1,2], "d":[1,2,3,4]}

n = 2

my_list = [key for key,val in foo.iteritems() if len(val) > n]
结果:

>>> my_list
['a', 'd']

您可以尝试使用过滤器功能:

filter(lambda x: len(dictionary[x])> num, dictionary.keys())

我不认为过滤器是最好的使用,如果你需要它也为地图。
>>> my_list
['a', 'd']
filter(lambda x: len(dictionary[x])> num, dictionary.keys())