У меня есть список данных, который выглядит следующим образом:
// timestep,x_position,y_position
0,4,7
0,2,7
0,9,5
0,6,7
1,2,5
1,4,7
1,9,0
1,6,8
... и я хочу, чтобы это выглядело так:
0, (4,7), (2,7), (9,5), (6,7)
1, (2,5), (4,7), (9,0), (6.8)
Мой план состоял в том, чтобы использовать словарь, где значение t является ключом для словаря, а значение против ключа было бы списком. Затем я могу добавить каждый (х, у) в список. Что-то вроде:
# where t = 0, c = (4,7), d = {}
# code 1
d[t].append(c)
Теперь это приводит к сбою IDLE. Однако, если я сделаю:
# code 2
d[t] = []
d[t].append(c)
... это работает.
Итак, вопрос в том, почему код 2 работает, а код 1 - нет?
PS Любое улучшение в том, что я планирую делать, было бы очень интересно !! Я думаю, что мне придется проверять словарь в каждом цикле через входные данные, чтобы увидеть, существует ли ключ словаря, я думаю, используя что-то вроде max (d.keys ()): если он есть, добавить данные, если не создать пустой список в качестве значения словаря, а затем добавить данные в следующем цикле.