Скажите, что у вас есть словарь, содержащий индексы, в которых появляется каждое уникальное значение. Например, скажем, что алфавит равен a
и b
, тогда этот словарь будет выглядеть примерно так: d = {'a': [1, 2, 6], 'b': [3, 7]}
. Я хотел бы преобразовать его в исходный список, который показывает в правом индексе правильное значение, например, в последнем примере l = ['a','a','b',None,None,'a',b']
. Я предпочитаю простое маленькое решение, а не то, что утомительно для циклов. Спасибо!Как преобразовать словарь индексов в список ключей?
ответ
Очевидно делать это без for
петель ужасная идея, потому что самый простой способ (он не идеален, но это делает работу):
r = {}
for key, value in d.items():
for element in value:
r[element] = key
l = [r.get(i) for i in xrange(1, max(r) + 1)]
Но если вы действительно хотите знать, как сделать это без каких-либо for
потом посмотрим:
m = {}
i = 0
d_keys = d.keys()
max_value = 0
while i < len(d):
d_i = d[d_keys[i]]
j = 0
while j < len(d_i):
d_i_j = d_i[j]
if max_value < d_i_j:
max_value = d_i_j
m[d_i_j] = d_keys[i]
j += 1
i += 1
l = []
i = 1
while i <= max_value:
l.append(m.get(i))
i += 1
это довольно просто, не так ли?
Я не знаю, зачем вам это нужно, но вот грязный ответ, без петель.
d = {'a': [1, 2, 6], 'b': [3, 7]}
map(lambda x: x[0] if x else None, map(lambda x: filter(lambda l: x in d[l], d), range(1, max(reduce(lambda x, y: x+y, map(lambda x:d[x], d)))+1)))
Интересно, удовлетворяет ли это «простое» требование ...;) – piotrekw
d.keys()
ключи() Возвращает копию списка словаря ключей. См примечание для dict.items()
из Python Docs
Вы уверены, что это отвечает на вопрос? – user189
- 1. Словарь постигает список ключей
- 2. Как преобразовать список в словарь?
- 3. Как преобразовать список в словарь
- 4. Split словарь ключей в список
- 5. список Преобразовать в словарь
- 6. питон: преобразовать список в словарь
- 7. Как преобразовать матрицу в словарь как список?
- 8. как преобразовать список в словарь в Python
- 9. Как преобразовать список в словарь в Python
- 10. Как преобразовать список в словарь в python?
- 11. Как преобразовать список в словарь в python?
- 12. Как преобразовать словарь в список в словарь в Python 3?
- 13. Как преобразовать следующий список в словарь?
- 14. Как преобразовать словарь Python в список кортежей?
- 15. Как преобразовать список запросов django в словарь?
- 16. Как преобразовать словарь в плоский список?
- 17. Как преобразовать список в многозначный словарь
- 18. Как преобразовать словарь JSON в список значений?
- 19. Преобразовать список в словарь в Python
- 20. Javascript - Как преобразовать список массивов в другой список значений ключей?
- 21. Преобразовать список списков в гнездовой словарь
- 22. Python преобразовать список вложенных кортежей в Словарь
- 23. Как сохранить словарь индексов datetime?
- 24. Python 3: преобразовать список в словарь
- 25. В Python, как преобразовать список индексов и строк в Unicode?
- 26. Как индексировать словарь из нескольких списков, используя список индексов?
- 27. Словарь ключей в python
- 28. Как преобразовать словарь в массив
- 29. Преобразовать список и список списка в Словарь в питоне
- 30. Как преобразовать словарь JSON в словарь python?
Почему произвольное ограничение на нет для петель? диктовки и списки используют для циклов! Вы еще что-то пробовали? –
без «для» был просто способ сказать, быстро, без длинного кода. Спасибо вам всем за помощь. –