Trouver la correspondance des valeurs dans une liste de listes à l'aide de python

Je suis en train de parcourir une liste de listes en python 2.7.5 et le retour de ces où la première valeur est trouvée dans une seconde liste, quelque chose comme ceci:

#python 2.7.5
list1 = ['aa', 'ab', 'bb', 'bc', 'cc']
list2 = [['aa', 1, 3, 7],['de', 2, 2, 1],['bc', 3, 4, 4]]

list3 = []
for x in list1:
    for y in list2:
        if x == y:
            list3.append(y)

Donc je voudrais list3 pour contenir [['aa',1,3,7],['bc', 3, 4, 4]] mais au lieu de cela je viens d'obtenir l'ensemble de la liste 2.

  • Hein? Il ne vous donnera pas l'ensemble de list2, ça vous donne une liste vide. Veuillez vérifier à nouveau le code.
  • Est-il une raison spécifique de la deuxième structure doit être une liste de listes au lieu de, disons, un seul dict?
  • Dans ce cas, je pense qu'il serait utile de nous dire ce que vous voulez atteindre avec votre programme/script (pas seulement le bout de code). Parce que sur un premier coup d'oeil, je dirais qu'il existe de meilleures structures de données pour résoudre votre problème (comme les dicts)
  • Ce pourrait être les devoirs.
InformationsquelleAutor TimStuart | 2013-09-22