Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как получить доступ к словарю из списка в python?

ˀ Ученик (239), на голосовании 3 года назад
У меня есть список, в нём пару словарей. Например: spisok = [{'1': 2},{ '2': 3}]
Как я могу получить значение ключа 1, 2?
Голосование за лучший ответ
Сеня Сенечкин Мудрец (12990) 3 года назад
по индексу
spisok[0]['1']
ˀУченик (239) 3 года назад
По индексу не получиться, ибо в программе будет использоваться некий генератор, бог знает сколько будет этих словарей в списке
Сеня СенечкинМудрец (12990) 3 года назад
пройдись по каждому и проверь
ˀ Ученик (239) Сеня Сенечкин, О, а это мысль. Спасибо!
Айран Просветленный (26733) 3 года назад
не понял насчет пары словарей в списке - в вопросе в списке один словарь с двумя парами
ˀУченик (239) 3 года назад
Ошибся при написании.
spisok = [{'1': 2}, {'2': 3}]
Айран Просветленный (26733) ˀ, по индексу. доступ к элементам списка по индексу. [0] - это первый словарь. [1] - второй. не уверен я что ты пример удачный написал для того, что хочешь сделать.
ˀУченик (239) 3 года назад
Получается можно сделать это через 2 цикла?
АйранПросветленный (26733) 3 года назад
ясно. тогда нужен просто словарь - зачем его в список записывать.
берем словарь промокодов
d = {'1': 1, 'promo2':3, 'promo3': 4}
value = d.get('promo2') -- будет 3, если такого ключа нет то None
ˀ Ученик (239) Блиин, внатуре. Кажется у меня просто поплыли мозги и не ищу простого решения. Спасибо огромное)
ˀУченик (239) 3 года назад
Тогда как можно будет удалить ключ и значение из словаря?
ˀ Ученик (239) ˀ, del d['1'] ?
Скрудж Макдак Просветленный (35532) 3 года назад
Просто создай один список с двумя ячейками. В твоем случае это:
spisok = [{'1': 2},{ '2': 3}]
voc = {key:value for key, value in [list(j)[0] for j in [n.items() for n in spisok]]}
Похожие вопросы