OVH Cloud OVH Cloud

[NewBie] Hashing Table

21 réponses
Avatar
lesouriciergris
Salut à tous,

Tsssss ....
j'essaye porter un programme PERL en Python.
Dans ce programme je dispose d'une table de hashage dont les éléments
pointent sur une autre table de hashage ce qui nous donne celà :
$tabcode{cle}{duree}=valeur;

J'ai bien essayé tabcode[key][duree]=valeur; mais que neni il n'en veut
pas ...

Quelqu'un pourrait il m'aider à apprivoiser la bête ?

Merci

--
\_@°> Eric BERTHOMIER / Le Sourcier Gris
http://lesouriciergris.free.fr http://troll.west.free.fr

1 réponse

1 2 3
Avatar
Jean-michel
Ok, j'ai compris !
Merci pour l'exemple.
Une fois encore, je mérite une claque (virtuelle, bien sûr) pour le "tabcode
= tabcode2 = {}". Mon exemple fonctionnait sans ça, merci à ceux qui ont
corrigé.

jm

"Paul Gaborit" a écrit dans le message de
news:

À (at) Thu, 17 Mar 2005 11:16:49 +0100,
"Jean-michel" écrivait (wrote):
Je continue à ne pas capter.


Un petit script pour illustrer le problème :

a = {}
cle = 'kle'
a[cle] = {'v':'v'}
print a
a.setdefault(cle, {})['w'] = 'w'
print a
a[cle] = {'x':'x'}
print a

Et la sortie correspondante :

{'kle': {'v': 'v'}}
{'kle': {'w': 'w', 'v': 'v'}}
{'kle': {'x': 'x'}}

Le 'setdefault' permet de ne pas perdre les clés et les valeurs déjà
présentes
dans le dictionnaire (a[cle] - pas a). Dans l'exemple, l'ajout de la clé
'w'
ne supprime pas la clé 'v' qui existait déjà. Alors que l'ajout de la clé
'x'
supprime les deux précédentes ('w' et 'v').

--
Paul Gaborit - <http://www.enstimac.fr/~gaborit/>



1 2 3