des1roer
@des1roer
ученье - свет, а неученье - приятный полумрак

Python многомерные массивы?

Хочу написать небольшой скрипт на python. Язык знаю посредственно а сделать охота быстро.
Как создать многомерный массив с ключами. что-то вроде такого
А = [ 0 : [ [1,3] ,[2,4] ],
3 : [ [4,3] ,[5,4] ],
75 : [ [10,3] ,[20,4] ] ]

Для понятности - нужно в цикле забивать кортежи (кортежи ли? я не дока) в цикле по принципу имеем 3 строки из базы - ид, значение, время и должны получить удобоваримый массив чтобы можно было записать отдельно массивы с разными ид то есть

massiv = {
id_1 : [ [val_11, time_11], [val_21, time_21] ],
id_2 : [ [val_12, time_12], [val_22, time_22] ],
id_3 : [ [val_13, time_13], [val_23, time_23] ]
}
что то вроде

for i in len(id):

massiv(id[i] : { [val[i], time[i] }
  • Вопрос задан
  • 3918 просмотров
Решения вопроса 2
winordie
@winordie
Лучшая документация -- исходники
Если одному id может соответствовать несколько пар значений [val, time], то можно как то так:
a = dict()
for .... [ тут получаем очередные значения id, val, time ]:
    try:
        a[id].append((val, time))
    except KeyError:
        a[id] = [(val, time)]
Ответ написан
@SaulTigh
Python Developer
Хорошим тоном в таком случае использовать defaultdict.

Из документации:
from collections import defaultdict

s = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
d = defaultdict(list)
for k, v in s:
    d[k].append(v)

print d.items()
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Arseny_Info
@Arseny_Info
R&D engineer
Можно использовать pandas, хотя для ваших задач, возможно, это оверхед.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы