J'ai une liste de plus de 50 éléments. Ces éléments sont des alphabets minuscules et majuscules, des nombres, des caractères spéciaux.
par exemple. P> Je veux échanger des éléments particuliers avec un caractère spécial.
par exemple. p> et ainsi de suite, je dois remplacer un ensemble particulier d'éléments avec 11 caractères spéciaux sélectionnés. Comme je l'ai remplacé quelques éléments sélectionnés avec 3 des caractères spéciaux. P> Comment le faire efficacement. P> P>
5 Réponses :
Vous devez d'abord définir vos règles de remplacement, par exemple avec un Vous pouvez ensuite traverser la liste et remplacer chaque élément s'il a une règle de remplacement. p> Si vous souhaitez créer une nouvelle liste. de la mutation de la première, vous pouvez utiliser un exemple de compréhension de liste-compréhension p> dict code>. En particulier, étant donné que
dict code> permet un accès O (1) em>, ceci est aussi rapide que votre méthode pourra être complexité du temps: c'est la résoudre dans un Traversal unique de la liste.
exemple h2>
sortie h2> < Pré> xxx pré> p>
Le Downvoter peut-il expliquer? Il n'y a aucune raison que c'est faux.
Vous pouvez le faire à l'aide de sortie: p> Edit: Comme indiqué par Olivier Melanã§on Il peut être Utilisé uniquement si vous souhaitez remplacer 1 caractère avec 1 caractère. p> p> Traduire code> méthode suivante:
Maketrans Code> Méthode de
STR CODE> est utilisé pour la création de la table de traduction, il suffit de l'alimenter avec deux longueur égale
STR code> S avec la première composition de clés et de secondes de valeurs.
Traduire code> Méthode Acceptez ce tableau et remplacez les caractères en conséquence, ou laissez l'original intact si il n'y a pas de telle clé dans le tableau. P>
C'est soigné, bien qu'il soit bon de souligner que cette méthode ne sera pas en mesure de s'étendre à une liste d'échantillons avec des éléments de plus d'un caractère.
Essayez ceci et définissez toutes vos mapes dans le dictionnaire:
Vous pouvez utiliser la fonction Carte:
EX pour le premier remplacement: p>
compact_list = ''.join(sample_list) new_compact_list = compact_list.replace('A', '@').replace('B', '@').replace('C', '@')
Commencez par une fonction simple et affinez-la.
simple utiliserait 3 sortie: p> pour obtenir plus de fantaisie utiliser un dictionnaire et une liste- comp: p> sortie: p> voir: p> ensembles code> (pour le jeu de recherche est meilleur que listes) - Si les paramètres ne doivent pas nécessairement pas besoin de muter, utilisez
gelengests code>. Utilisez une boucle simple - directement vers l'avant: p>
Pourquoi PPL demande-t-il toujours comment le faire "efficacement"? Comment avez-vous essayé de le résoudre? Quel était ton goulot d'étranglement? Quel était ton problème? Où est votre exemple de reproductible minimal ?
@Patrickartner, j'avais créé de nombreuses listes, puis cherchait à la recherche quelle liste l'élément appartient et le remplaçait ensuite par le caractère spécial REEE. Ce n'était pas efficace.