Приложение Create React использует Jest в качестве своей тестовой среды. Функция it принимает строку в качестве дескриптора, который позволяет пользователю назвать свои тесты и легко найти их в случае сбоя. Функция стрелки - это фактический тестовый код. Пример:
function add(x,y){
return x+y;
}
it("adds two and two", ()=> {
expect(add(2,2)).toEqual(4);
}
Вы хотите использовать:
from collections import defaultdict
myIndex = defaultdict(list)
myIndex[someId].append(someVal)
Стандартная библиотека defaultdict
объекты.
Использование в качестве примера из документации Python:
>>> s = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
>>> d = defaultdict(list)
>>> for k, v in s:
d[k].append(v)
>>> d.items()
[('blue', [2, 4]), ('red', [1]), ('yellow', [1, 3])]
Только завершить ответ Alastair: существует также становление эквивалентным из setdefault, который называют, добираются (и не getdefault, как можно было бы думать):
myIndex = {}
someId = None
myList = myIndex.get(someId, []) # myList is [] now
Что-то вроде этого, возможно:
myIndex = {}
for (someId,someVal) in collection:
myIndex.setdefault(someId, []).append(someVal)
Из Python 2.5 и на Вас может получить поведение setdefault или использующий defaultdict путем реализации
__missing__(k)
как в примечании 10 здесь.
Как насчет этого? Это не может быть оптимально производительностью, но я думаю, что это - "самая простая вещь, которая могла возможно работать".
myIndex = {}
for (someId,someVal) in collection:
if someId not in myIndex:
myIndex[someId] = []
myIndex[someId].append(someVal)