0
votes

Éléments de sortie d'une matrice de chaîne à une phrase

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> xxx pré>

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 commentaires

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.


5 Réponses :


2
votes

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]


0 commentaires

1
votes

J'utiliserais un dict pour mapper un à l'autre, puis faire la concaténation: xxx

Vous pouvez utiliser un pour boucle ici, mais la compréhension de la liste est Nettoyant.


0 commentaires

0
votes
text = a
output: Abby
text = bc
output: BobCarl
text = cab
output: CarlAbbyBob
text = x
output: 

0 commentaires

0
votes

Vous pouvez faire: xxx

donne: xxx


0 commentaires

0
votes

https://www.w3schools.com/python/python_dictionaries.asp

Configurer un dictionnaire: xxx

puis créer une boucle pour votre chaîne xxx


2 commentaires

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