-1
votes

Renvoyer des index des assorties entre deux listes

Supposons que j'ai les listes suivantes: xxx

Je veux avoir la liste suivante comme sortie: xxx

< code> sortie doit avoir les indices de INPUT_2 des éléments qui correspondent aux éléments respectifs de entrées_1 .

Si un élément est Aucun dans INPUT_1 , cela ne doit pas correspondre à rien, mais la sortie à l'index / la position correspondante doit être directement Aucun .

Donc, si vous écrivez la sortie en mots, ce serait: xxx

Quel est le moyen le plus efficace de Faites cela?


0 commentaires

4 Réponses :


0
votes
input_1 = ['a', 'c', None, 'e']

input_2 = ['e', 'a', 'b', 'q']

output=[]
for x in input_1:
  if x in input_2:
    output.append(input_2.index(x))
  else:
    output.append(None)

print(output)

1 commentaires

Pourriez-vous ajouter un peu de détails sur ce qui se passe ici?



0
votes

Je ne suis pas sûr que c'est le meilleur moyen. J'ai créé un dict pour INPUT_2, puis utilisez-le pour obtenir le résultat final. La complexité globale est O (n + m). De cette manière, aucun besoin de trouver index pour chaque élément: xxx


0 commentaires

2
votes

Vous pouvez le faire facilement est que vous créez un dict de mappage qui contiendrait les éléments de la liste entrée_2 comme clé et leurs positions comme valeur xxx


0 commentaires

0
votes

Pour complétude;
Générez sortie à l'aide d'une seule ligne, compréhension de la liste xxx


0 commentaires