2017-09-26 5 views

Répondre

1

Les autres réponses sont très bien, une autre approche utiliserait enumerate. Cela génère une liste compressée de tris, où chaque valeur est associée à sa valeur d'index dans la liste. Par exemple. enumerate([1, 2, 3]) => [(0, 1), (1, 2), (2, 3)].

+0

Si la liste est ordonnée et l'index est un simple compte, c'est une solution plus propre et plus pythonique. –

+0

énumérer (a) très bien travailler – Harry1992

0
a = [1,2,3] 
b = [4,5,6] 

for first, second in zip(a,b): 
    print(first, ' vs ', second) 

zip liens ensemble les valeurs de a et b. Donc, le premier élément de zip(a,b) est [1,4], l'élément suivant est [2,5] et ainsi de suite. Notez que zip crée un itérateur, donc vous ne pouvez pas accéder directement aux éléments via l'index (zip(a,b)[1] ne fonctionne pas).

+0

Merci cela fonctionne – Harry1992

+0

Mais une autre question: – Harry1992

1

Essayez ceci:

a = [1,2,3] 
b = [4,5,6] 
[print('{0} vs {1}'.format(x,y)) for (x,y) in zip(a, b)] 

Zip se joindra à vos deux listes dans ((1, 4), (2, 5), (3, 6))

+0

En dehors de l'erreur de syntaxe, celui-ci ne fonctionne pas du tout. – LcdDrm

0

Essayez ce frère:

x = [1, 2, 3] 
y = [4, 5, 6] 

for i, j in zip(x, y): 
print i + "/" + j 

Il vous donnera:

1/4 
2/5 
3/6 

vérifier aussi: "for loop" with two variables?

+0

Merci frère son travail – Harry1992

0

Merci à tous zip (a, b) et énumèrent (a, b) les deux fonctionnent bien mais si j'ai des listes comme a = [1,2,3,4] et b = [1,2,3] alors le zip (a, b) fonctionne seulement 1,1 2,2 3,3 et le 4ème var n'est pas visible et la méthode enumerate fonctionne bien mais à la fin donne une erreur hors de portée :)