Le code doit produire des éléments de chaîne de la liste B lors de l'impression de quelque chose à partir de la liste A.
dire que nous avons p> Comment itération via les listes ainsi lorsque le texte est Mis à jour sur P> text = ""
for i in text:
if i == letters[letters ==i]:
text = text + names[i]
5 Réponses :
Vous pouvez utiliser un dict pour mapper une lettre au nom
letter_to_name = dict()
for idx, val in enumerate(letters):
letter_to_name[val] = names[idx]
#Creates are mapping of letters to name
#whatever is the input text, just iterate over it and select the val for that key
output = ""
for l in text:
if l not in letter_to_name:
#Handle this case or continue
else:
output += letter_to_name[l]
J'utiliserais un dict pour mapper un à l'autre, puis faire la concaténation: Vous pouvez utiliser un pour code> boucle ici, mais la compréhension de la liste est Nettoyant. p> p>
text = a output: Abby text = bc output: BobCarl text = cab output: CarlAbbyBob text = x output:
Vous pouvez faire: donne: p>
https://www.w3schools.com/python/python_dictionaries.asp
Configurer un dictionnaire: p> puis créer une boucle pour votre chaîne p>
C'est en fait une belle solution, mais je souhaite que la liste mise à jour soit un texte brut. Alors liste ['Abby', 'Bob', 'Carl'] devrait être Abbybobcarl
Je ne sais pas pourquoi vous voudriez que vous voudriez une liste à la fin, mais si vous venez de mettre la liste = ["" .Join (Thisdict [Char] pour Char In String)] Vous obtiendrez une liste d'éléments unique
Pouvez-vous ajouter ce que vous avez essayé jusqu'à présent?
Quelle est votre relation visée entre, par exemple, "B" et "Bob"? Est-ce que Bob commence par la lettre B, ou est-ce qu'ils sont à la fois le deuxième élément de leurs listes respectives?
@tom - oui, c'est Bob commence par b
@Deveshkumarsingh fait ça
Dans ce cas, utilisez un dictionnaire, car les réponses démontrent.