Преобразовать словарь в список

Единственная причина, по которой вы захотите это сделать, - это если в предыдущем коде есть еще один await или если вы каким-то образом обработаете результат перед его возвратом. Другой способ, которым это может происходить, - это try/catch, который изменяет порядок обработки исключений. Если вы ничего не делаете, тогда вы правы, нет причин добавлять накладные расходы на создание метода async.

0
задан Francesco Boi 17 January 2019 в 05:21
поделиться

4 ответа

Если вы используете Python 3, а не устаревший Python, вы можете просто сделать это:

{i+1: v for i, v in enumerate(d1['vals'])}
0
ответ дан rdenadai 17 January 2019 в 05:21
поделиться

Использование словарного понимания

d2 = {k:v for k,v in zip(d1["inds"],d1["vals"])} 
0
ответ дан CJC 17 January 2019 в 05:21
поделиться

Словарь толкований добавляет слой ненужной сложности. Вы можете просто сделать это:

d1 = {'inds': [1, 2, 3, 4,], 'vals': [0.28, 0.84, 0.71, 0.03]}
result = dict(zip(d1["inds"],d1["vals"]))
print(result)

{1: 0.28, 2: 0.84, 3: 0.71, 4: 0.03}

Если вы используете Python 3.7, вы можете сделать это тоже:

result = dict(zip(*d1.values()))
0
ответ дан Tomothy32 17 January 2019 в 05:21
поделиться

Попробуйте использовать цикл for:

d1 = {'inds': [1, 2, 3, 4,], 'vals': [0.28, 0.84, 0.71, 0.03]}
keys = d1['inds']
vals = d1['vals']
d2 = {}
for idx, key in enumerate(keys):
    d2[key] = val[idx]
0
ответ дан Mike C. 17 January 2019 в 05:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: