2014-02-09 3 views
0

Итак, у меня есть словарь под названием «useraccounts». Мне удается получить все ключи от элементов в словаре, которые находятся в классе 12, выполнив:Использование элементов в списке в качестве словарных клавиш

found = ([k for k in useraccounts if useraccounts[k]['class'] == '12']) 

Список Возвращается:

['bob', 'terry'] 

, который является правильным. Теперь все равно я мог бы взять эти результаты в качестве ключей, а затем отдельно использовать их для индивидуальной печати соответствующей информации из словаря. Например, получите программу для печати результатов:

useraccounts[THE_KEYS_FOUND_IN_THE_LIST]['totalscore'] 

Любая помощь очень ценится.

Заранее спасибо.

ответ

1

Я думаю, что вы хотите что-то вроде:

for name in found: 
    print(name, useraccounts[name]['totalscore']) 
+0

Brilliant thanks: D – MrPython

+1

http://stackoverflow.com/help/someone-answers – jonrsharpe

0

Вы можете построить на том, что вы были раньше:

scores = [useraccounts[k]['totalscore'] for k in useraccounts if useraccounts[k]['class'] == '12'] 
# scores = [ list of scores ] 
0

Если вы хотите только totalscore для этих конкретных ключей:

totals = [(key,value['totalscore') for key, value in useraccounts.items() if value['class'] == '12'] 
Смежные вопросы