2015-08-18 4 views
1

Я хочу, чтобы добавить индексы к этому списку Dict:Что более эффективно добавлять индексы в список dict?

wallets = [ 
    {'balance': 1500}, 
    {'balance': 12}, 
    {'balance': 0} 
] 

Это должно быть так:

wallets = [ 
    {'index':0, 'balance': 1500}, 
    {'index':1, 'balance': 12}, 
    {'index':2, 'balance': 0} 
] 

Теперь я использую это решение:

wallets = [dict([('index', index)] + list(w.items())) for index, w in enumerate(wallets)] 

Который является более эффективное решение Pythonic-way? Спасибо.

ответ

1

почему не будет простой способ:

for i in xrange(len(wallets)): 
    wallets[i]["index"] = i 
+0

приятно! спасибо –

+0

@ J.Doe приветствую вас, пожалуйста, отметьте ответ, как принято –

0

Если это степень данных вы храните, вы не нуждаетесь в list из dict с на всех. Вы можете просто использовать обычный list.

wallets = [1500, 12, 0] 

Вместо проверки каждого «s„индекс“dict значение для записи, которую вы хотите, как использовать это значение для прямого доступа к list, например, wallets[0] даст вам 1500.

+0

есть еще поля, а не только «баланс», спасибо –