2010-12-05 6 views
0

I have 2 listes:ajoutant une chaîne de caractères à une autre chaîne

list1 contient "T" "F" "T" "T"

liste2 contient "a" "b" "c" "d"

Je souhaite créer une troisième liste telle que j'ajoute element1 dans list1 à element1 dans list2.

Alors liste3 serait la suivante: "Ta" "Fb" "Tc" "Td"

Comment puis-je faire?

+3

Nous attendons tous en suspens le prochain problème du jeu de devoirs @hssss. – Zeke

Répondre

4

Utilisez zip: [x + y for x, y in zip(list1, list2)].

+0

+1, la meilleure façon de le faire. – user225312

0

Vos listes

>>> t = ["T", "F", "T", "T"] 
>>> t1 = ["a", "b", "c", "d"] 

groupe en les utilisant la fonction zip:

>>> t2 = zip(t, t1) 
>>> t2 
[('T', 'a'), ('F', 'b'), ('T', 'c'), ('T', 'd')] 

Vous pourriez manipuler maintenant la liste des résultats souhaités:

>>> ["".join(x) for x in t2] 
['Ta', 'Fb', 'Tc', 'Td'] 
>>> 
+0

Avoir deux 't' n'est peut-être pas la meilleure façon de démontrer cette fonctionnalité. – Johnsyweb

+0

@Johnsyweb: Oui, je suis d'accord que cela peut être déroutant. – pyfunc

1

zip, comme d'autres l'ont suggéré, est bon. izip, je dirais, est mieux pour les listes plus longues.

>>> from itertools import izip 
>>> list3 = [x+y for x,y in izip(list1, list2)] 
>>> list3 
['Ta', 'Fb', 'Tc', 'Td'] 

Voir aussi la documentation sur list comprehensions, ils sont un outil essentiel dans la programmation Python.

Questions connexes