Что такое pythonic способ обратить вспять defaultdict(list)
?Что такое pythonic способ изменить defaultdict (list)?
Я мог выполнять итерацию через defaultdict и создание нового defaultdict. Есть ли другой способ? Является ли это pythonic:
>>> from collections import defaultdict
>>> x = defaultdict(list)
>>> y = [[1,2,3,4],[3,4,5,6]]
>>> z= ['a','b']
>>> for i,j in zip(y,z):
... x[j] = i
...
>>> x
defaultdict(<type 'list'>, {'a': [1, 2, 3, 4], 'b': [3, 4, 5, 6]})
>>> x2 = defaultdict(list)
>>> for k,v in x.items():
... for i in v:
... x2[i].append(k)
...
>>> x2
defaultdict(<type 'list'>, {1: ['a'], 2: ['a'], 3: ['a','b'], 4: ['a','b'], 5: ['b'], 6: ['b']})
Непонятно, зачем здесь нужен defaultdict. – bernie
оригинал по умолчанию имеет уникальный идентификатор для тех же вещей с другим именем. Но чтобы искать идентификатор, используя одно из имен, я должен каждый раз делать значение для поиска ключей, поэтому использование обратного defaultdict оптимизирует мой код. – alvas
Не следует выводить для 'x'' defaultdict (, {'a': [1, 2, 3, 4], 'b': [3, 4, 5, 6]}) '? Не знаю, откуда взялась часть «7, 8» данного выхода. –