У меня проблема со словарем для одного ключа, но нескольких значений.Я собираю некоторые данные из таблицы базы данных sqlite3 (bacnet_props), имеющей 3 столбца.1-й столбец содержит 6 записей, каждая из которых имеет одинаковый ключ (например, object_id [81]).Object_ids: 80,81,82,112,113,114.2-й столбец имеет 6 записей, каждая из которых имеет свой prop_id, поэтому 6 разных значений (2501-2510), а затем 3-й столбец имеет 6 разных записей, каждая из которых имеет другое значение, поэтому снова 6 разных значений (целое число / строка).Теперь я пытаюсь собрать эти значения во 2-м и 3-м столбцах, вызвав object_id в 1-м столбце и сделав сравнение с моими ожидаемыми значениями для проверки.Я пытаюсь использовать следующий код, который просто дает мне записи с ключом один раз, означающим 1 из 6 записей из всех этих 3 столбцов.Ребята, можете ли вы помочь мне решить эту проблему?
db_cursor = conn.execute("SELECT * from bacnet_props")
for row in db_cursor:
observed_output[row[0]]=row[1:3]
Вывод, который я получаю:
{80: (2510, '2'), 81: (2510, '4'), 114: (2510, '108'), 113: (2510, '105'),
112: (2510, '103'), 82: (2510, '8')}
Вывод, который я ожидаю, будет:
enter code here
{80: (2501, '1'), 80: (2502, '4'), 80: (2503, 'LivingRoom'), .......
81: (2501, '2'), 81: (2502, '5'), 81: (2503, 'FreeSpace'), ........
....................................................................
114: (2501, '1'), 114: (2502, '4'), 114: (2503, 'BackYard' )...etc..
Я понялчто это связано с тем, что словарь принимает только 1 значение для одного ключа.Но кто-нибудь может предложить мне обходной путь для этого?спасибо!