Supposons que j'ai les listes suivantes: Je veux avoir la liste suivante comme sortie: p> < code> sortie code> doit avoir les indices de Si un élément est Donc, si vous écrivez la sortie Quel est le moyen le plus efficace de Faites cela? p> p> INPUT_2 code> des éléments qui correspondent aux éléments respectifs de entrées_1 code>. p> Aucun code> dans INPUT_1 code>, cela ne doit pas correspondre à rien, mais la sortie code> à l'index / la position correspondante doit être directement Aucun code >. p> en mots, ce serait: P>
4 Réponses :
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)
Pourriez-vous ajouter un peu de détails sur ce qui se passe ici?
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:
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 code> comme clé et leurs positions comme valeur
Pour complétude;
Générez sortie em> à l'aide d'une seule ligne, compréhension de la liste