J'ai deux dictionnaires. Je dois faire correspondre les valeurs dans le premier aux clés dans le second et ensuite retourner la valeur trouvée dans le deuxième dictionnaire. Je suis venu avec ce à ce jour:python lien valeurs dictionnaire 1 à clés dictionnaire 2
d1 = {}
with open ("file1.txt") as f:
for line in f:
(key,val) = line.split()
d[int(key)] = val
d2 = {}
with open("file2.txt") as f:
for line in f:
(key,val) = line.split()
d[int(key)] = val
for item in d1.values():
if d2.has_key(item):
print value.d2(item)
Je continue à obtenir l'erreur « trop de valeurs pour décompresser » et à part cela, ferait effectivement mon script ce que je veux faire?
MISE À JOUR (Désolé je ne savais pas que je pouvais éditer ma question!): I mes deux fichiers texte, fichier1 mappe un mot à un système numérique, et fichier2 mappe le numéro à sa catégorie pertinente. Le résultat final devrait être que le mot de fichier1 est lié à sa catégorie qui se trouve dans le fichier2. Ceci est fait en liant d'abord le mot à un nombre puis en liant le nombre à une catégorie. Par exemple: Aanbidden (mot néerlandais)> 12> Cat. "affecter". Les lignes dans mon dossier ressemblent à ceci:
file1.txt:
aanbidden: 12 13 14 57 58
leven : 15
drinken: 23 56
...
(As you see each key can have one or more values)
file2.txt:
12: affect
13: posemo
14: Posfeel
15: Optim
23: discrep
56: money
57: metaph
58: religious
...
(In this file each key has only one value)
Sur quelle ligne avez-vous 'trop de valeurs à décompresser? Pouvez-vous poster le retraçage complet? (Le coupable le plus probable est que votre 'file1.txt' et' file2.txt' ont plus de deux éléments par ligne) –
Je doute que cela fonctionne. vous imprimez 'valeur', mais je ne vois pas de valeur définie nulle part ... – mgilson