Ajout de tableaux associatifs en Python

J'ai été partout dans le monde à la recherche d'une solution à cela récemment, et jusqu'à présent en vain. Je viens de php à python, et en cours d'exécution dans un tableau associatif différence, je ne suis pas sûr maintenant à surmonter.

Prendre cette ligne:

data[user]={i:{'item':row[0],'time':row[1]}}

Cela remplace chacun de mes data[user] entrées, évidemment, comme ce n'est pas l'ajout, c'est juste en remplaçant les données à chaque fois.

En php si je voulais ajouter un nouveau bit de données dans une boucle for, je pourrais faire

data[user][i][]=array('item'=>'x','time'=>'y'); // crude example

En python, je ne peux pas faire:

data[user][]={i:{'item':row[0],'time':row[1]}}

Il barfs sur mon []

Je ne peux pas faire:

data[user][i]={'item':row[0],'time':row[1]}

où I est mon itérateur à travers la boucle... et je pense que c'est parce que le data[user] n'a pas été défini, mais, comme de l'exploitation? J'ai créé le data={}, mais je ne l'ai rempli avec les utilisateurs clés, encore.

En python, dois-je avoir une clé définie avant que je puisse le définir, y compris une sous-clé?

J'ai essayé un tas de .append() options, et d'autres trucs bizarre, mais je veux savoir la corriger méthode de le faire.

Je peut faire:

data[user,i]={'item':row[0],'time':row[1]}

mais ce n'est pas ce que je veux.

Ce qui est de ma méthode appropriée ici, python amis?

  • Bon, il semble que je n'ai pas été aussi clair que je l'avais espéré. La question n'est pas d'ajouter des données[user]=trucs. Le problème est l'ajout de data[user][i]=trucs
InformationsquelleAutor captrap | 2011-03-21