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