En ce momentGenshin ImpactValhallaBreath of the wildAnimal CrossingGTA 5Red dead 2
Liste des sujets
Python [débutant]
tueur70
Niveau 44
30 septembre 2016 à 23:35:40
Bonjour,
j'ai deux listes
L1 = ['a','b','c','d'] L2= [1,2,3,4]
Existe t-il un moyen pour faire correspondre le 'a' de ma liste L1 au 1 de ma liste L2 ou de faire comprendre à python que mon caractère 'a' équivaut à la première case de ma liste L2?
Elmohe
Niveau 9
30 septembre 2016 à 23:40:42
Tu peux faire un dictionnaire, en fait un dictionnaire c'est comme une liste mais les items sont deux à deux : une "key" et une "value". Par exemple tu peux faire :
dict = {}
for x in range(len(L1)):
dict[L1[x]] = L2[x]
Et ça remplit le dictionnaire en les faisant coïncider
tueur70
Niveau 44
30 septembre 2016 à 23:44:24
Sympa pour le conseil, je vais voir ce que ça donne
Elmohe
Niveau 9
30 septembre 2016 à 23:47:40
Les dictionnaires sont pas mal utiles, par exemple tu veux faire un système de banque, bah tu fais un dictionnaire {"nom", Compte()} Comme tu peux mettre n'importe quel objet
Grimmys
Niveau 19
01 octobre 2016 à 00:03:11
J'utiliserais plutôt enumerate() pour remplir le dico via les deux listes, range(len(L1)) c'est vraiment très très dégueu...
dico = {}
for key, value in enumerate(L1):
dico[value] = L2[key]
Et puis aussi faut éviter les noms de variable style " dict ", c'est un mot-clé réservé, donc peut amener à poser problème.... Moi aussi je fais souvent la même connerie.
( et enfin un dictionnaire c'est " { "nom" : Compte() } mais ça je pense c'est la fatigue )
TintinMage
Niveau 10
01 octobre 2016 à 00:27:34
La fonction zip(L1, L2) est là pour toi, ça donne ('a', 1) ('b', 2) ('c', 3) ('d', 4) Si tu veux mettre dans un dictionnaire tu peux faire dicos = { a: b for a, b in zip(L1, L2) }
Message édité le 01 octobre 2016 à 00:27:50 par TintinMage
Grimmys
Niveau 19
01 octobre 2016 à 00:30:40
Ah ouai la fonction zip().... Je viens de la découvrir aujourd'hui et pourtant je n'y ai même pas pensé....
Elmohe
Niveau 9
01 octobre 2016 à 09:21:41
Ouais Grimmys la fatigue désolé ^^ Pareil pour dict. Après je connaissais pas les deux fonctions ^^