Я уже давно искал решение этой проблемы, но пока безрезультатно. Я перехожу с php на python и сталкиваюсь с различием ассоциативных массивов, которое я не уверен, что теперь нужно преодолеть.
Возьми эту строку:
data[user]={i:{'item':row[0],'time':row[1]}}
Это перезаписывает каждую из моих data[user]
записей, очевидно, поскольку она не добавляется, она просто заменяет данные каждый раз.
В php, если бы я хотел добавить новый бит данных в цикл for, я мог бы сделать
data[user][i][]=array('item'=>'x','time'=>'y'); // crude example
В питоне я не могу:
data[user][]={i:{'item':row[0],'time':row[1]}}
Это бранит на моем []
Я тоже не могу сделать:
data[user][i]={'item':row[0],'time':row[1]}
где я - мой итератор в цикле ... и я думаю, это потому, что data[user]
еще не был определен как работающий? Я создал data={}
, но я пока не заполняю его ключами.
Нужно ли в python определять ключ, прежде чем я смогу определить его, включая вложенный ключ?
Я пробовал кучу .append()
опций и других странных трюков, но я хочу знать правильный способ сделать это.
Я могу сделать:
data[user,i]={'item':row[0],'time':row[1]}
но это не то, что я хочу.
Какой мой правильный метод, друзья Python?