Используя следующий подход Я могу создать словарь значений:Как получить значение индекса для понимания списка?
{ p.id : {'total': p.total} for p in p_list}
Это приводит к {34:{'total':334}, 53:{'total: 123} ... }
Я хотел бы перечислить индекс из списка, так что я знаю, какая позиция p.id
была . в я сделал список, как это:
c_list = [x for x in range(len(p_list))]
а потом попытался посмотреть, как c
также может быть указан как часть результата. Я думал, что мне нужно что-то вроде этого:
{ (p,c) for p in p_list for c in c_list}
, но когда я попытался осуществить это, я не мог получить c
быть значение в словаре:
{ (p.id, c : {'total': p.total, 'position': c}) for p in p_list for c in c_list}
Благодарим вас за ответ. Если я попробую это, я получаю ошибку «ключи должны быть строкой». Я думаю, что это потому, что он пытается использовать '(p.id, ind)' как ключевое значение для словаря; Я не могу понять, как этого избежать. – djq
@celenius Работает отлично для меня, кортежи являются действительными ключами для dicts. –
Но если вы знаете индекс, зачем вы хотите запросить словарь (используя индекс как часть ключа кортежа) для индекса? : P Это мой вопрос. – Shashank