我无法理解这种方法的目的是什么(取自Python Brain Teaser Question bank)。我发现输入似乎是字典的集合。但是,尝试做的方法是什么?
def g(items):
d = defaultdict(list)
for i in items:
d[i['type']].append(i)
return d
答案 0 :(得分:2)
它收集了一大堆可以按字符串索引的项目,并按"type"
键的值对它们进行分组。结果是一个字典,其中键是"type"
的值,该值是具有所述键作为其"type"
的所有项的列表。
它似乎确实有点破碎,因为它正在返回功能。我认为预期的行为是在最后有return d
。通过以下实现:
def g(items):
d = defaultdict(list)
for i in items:
d[i['type']].append(i)
return d # Fixed this
您提供以下输入:
items = [
{'type': 'foo', 'val': 1},
{'type': 'bar', 'val': 2},
{'type': 'foo', 'val': 3}
]
你得到以下输出:
{'foo': [{'type': 'foo', 'val': 1}, {'type': 'foo', 'val': 3}], 'bar': [{'type': 'bar', 'val': 2}]}
答案 1 :(得分:1)