[Python] Accès à un dictionnaire

Résolu
Utilisateur anonyme -  
 joseph -
Bonjour
Voila une partie du dictionnaire que j'ai créé :
{'vb': ['0.4', '0.41', '0.42', '0.43', '0.44'], 'vc': ['0.4', '0.41', '0.42', '0.43', '0.44'], 'ib': ['1.954e-010', '8.98e-011', '7.7e-011', '7.1e-011', '6.88e-011'], 'ic': ['8.436e-011', '7.412e-011', '9.258e-011', '1.2936e-010', '1.8622e-010']}

Comment puis-je affiher la première valeur relative à ma valeur 'vb'?
Et de même, comment avoir accès à n'importe quelle valeur de mes "sous-ensembles"?
J'ai essayé plusieurs trucs mais il me dit "TypeError: unhashable type"...

Merci
A voir également:

3 réponses

FLB
 
C'est super simple

Voici si tu déclare un dictionnaire ton dictionnaire est une constante, c'est la particularité des dictionnaires.

mondict = {'vb': ['0.4', '0.41', '0.42', '0.43', '0.44'], 'vc': ['0.4', '0.41', '0.42', '0.43', '0.44'], 'ib': ['1.954e-010', '8.98e-011', '7.7e-011', '7.1e-011', '6.88e-011'], 'ic': ['8.436e-011', '7.412e-011', '9.258e-011', '1.2936e-010', '1.8622e-010']}

selon ton dictionnaire vb est un array un tableau, donc pour avoir la valeur du tableau:

monNouveauTableau = mondict['vb']

Pour avoir la valeur d'un élément du tableau vb:

maNouvelleValeurX = mondict['vb'][0]

ici 0 représente l'élément 1 de ton tableau vb. car les tableau dictionnaire ou tuple sont indexé à partir de 0
voici un autre exemple comment lopper dans ton dictionnaire

tKeys = mondict.keys()
for i in range(len(tKeys)):
for e in range(len(mondict[tkeys[i]]))
print mondict[tKeys[i]][e]

très simple non?
:)
5
jiji.23
 
bonjour j'ai besoin d'aide si ce possible quelqu'un peut m'aider j'ai un programme comme suit et je voulais savoir comme bien de fois chaque adresse IP apparait dans ma liste j'ai essayer avec dico.count mais sa ne pa marcher:


#!/usr/bin/env python
import re
fi=open("kern.log",'r')
dico={'IP':0,'DPT':0}
liste=[{'IP':0,'DPT':0}]*10
print liste.count(192.168.100.142)
for t in fi.readlines():
m=re.match(".*?NEWF.*OUT=eth0.*SRC=([0-9\.]*).*PROTO=([UDP]*).*DPT=([0-9]*).*",t)
if m is not None:
print "IP:"+ m.group(1) + " PROTO:"+ m.group(2) + " DPT:" +m.group(3)

merci d'avance
0
heyquem Messages postés 759 Date d'inscription   Statut Membre Dernière intervention   131
 
salut

pourquoi n'as tu pas créé une question indépendante ?
0
Utilisateur anonyme
 
Je deviens fort....
J'ai encore trouvé tout seul (enfin bon la c'était pas très compliqué......)
1
joseph
 
peux-tu expliquer comment tu as fait?
Merci
0
sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 662
 
:-)
1