Anonymous
Создать словарь с уникальными ключами и различными значениями списка из кортежа
Сообщение
Anonymous » 08 дек 2024, 21:56
У меня есть список таких кортежей:
Код: Выделить всё
[('id1', 'text1', 0, 'info1'),
('id2', 'text2', 1, 'info2'),
('id3', 'text3', 1, 'info3'),
('id1', 'text4', 0, 'info4'),
('id4', 'text5', 1, 'info5'),
('id3', 'text6', 0, 'info6')]
Я хочу преобразовать его в dict, сохранив идентификаторы в качестве ключей, а все остальные значения в виде списков кортежей, расширяя те, которые уже существуют:
Код: Выделить всё
{'id1': [('text1', 0, 'info1'),
('text4', 0, 'info4')],
'id2': [('text2', 1, 'info2')],
'id3': [('text3', 1, 'info3'),
('text6', 0, 'info6')],
'id4': [('text5', 1, 'info5')]}
Сейчас я использую довольно простой код:
Код: Выделить всё
for x in list:
if x[0] not in list: list[x[0]] = [(x[1], x[2], x[3])]
else: list[x[0]].append((x[1], x[2], x[3]))
Я считаю, что должен быть более элегантный способ добиться того же результата, возможно, с помощью генераторов. Есть идеи?
Подробнее здесь:
https://stackoverflow.com/questions/314 ... om-a-tuple
1733684182
Anonymous
У меня есть список таких кортежей: [code][('id1', 'text1', 0, 'info1'), ('id2', 'text2', 1, 'info2'), ('id3', 'text3', 1, 'info3'), ('id1', 'text4', 0, 'info4'), ('id4', 'text5', 1, 'info5'), ('id3', 'text6', 0, 'info6')] [/code] Я хочу преобразовать его в dict, сохранив идентификаторы в качестве ключей, а все остальные значения в виде списков кортежей, расширяя те, которые уже существуют: [code]{'id1': [('text1', 0, 'info1'), ('text4', 0, 'info4')], 'id2': [('text2', 1, 'info2')], 'id3': [('text3', 1, 'info3'), ('text6', 0, 'info6')], 'id4': [('text5', 1, 'info5')]} [/code] Сейчас я использую довольно простой код: [code]for x in list: if x[0] not in list: list[x[0]] = [(x[1], x[2], x[3])] else: list[x[0]].append((x[1], x[2], x[3])) [/code] Я считаю, что должен быть более элегантный способ добиться того же результата, возможно, с помощью генераторов. Есть идеи? Подробнее здесь: [url]https://stackoverflow.com/questions/31490101/create-a-dict-with-unique-keys-and-various-list-values-from-a-tuple[/url]