0
votes

Comment supprimer certains éléments de la liste dépend de certains critères

Ceci est ma première question ici. J'espère que certains d'entre vous aideront.

J'ai deux liste. xxx

Je veux sortir comme: xxx

Je veux simplement supprimer tout "signe" (majuscule / minuscule / combinaison de préfixe / préfixe, suffixe par n'importe quel ".")

Peut-on m'aider.


6 commentaires

Mais signe. , .sign et .Sign. Tout contient signe et i> est Plus long que signe , ils correspondent donc à votre condition. Peut-être que vous voulez ajouter une condition et '.' ' pas dans i ?


Toutes les variations de "signe" peuvent être trouvées à l'aide de .UPPER ou .Lower méthode de chaîne. Pour les autres cas (.sign, signe.) Vous aurez besoin d'expressions ou d'explicités régulières les exclure.


@ 00 j'ai modifié la question. Pouvez vous me donner un coup de main


@ Nomansland008 J'ai modifié la question. Pouvez vous me donner un coup de main


Pourquoi list2 une liste d'un élément? Avez-vous l'intention d'avoir plus d'éléments, et si oui, à quoi ressemblerait l'entrée et la sortie envisagée? Sinon, une seule chaîne suffirait, au lieu d'une liste.


N'oubliez pas d'accepter une réponse.


5 Réponses :


1
votes

Vous pouvez également utiliser la fonction filtre () code> pour filtrer certaines valeurs d'une liste au lieu de la compréhension de la liste. Outre cela, il vous suffit de mettre tous les éléments dans le même format supérieur / minuscule et de filtrer les périodes.

['design',
 'design',
 'design',
 'xxdesignxx',
 'xxdesign',
 'xxdesignxx',
 'xxsignxx',
 'xxsign',
 'xxsignxx']


0 commentaires

7
votes

Vous pouvez essayer ceci: - xxx

sortie: - xxx


réponse à la question modifiée < Pré> xxx

sortie: - xxx


2 commentaires

Malheureusement, avec la modification effectuée par OP après la publication de cette réponse, cette réponse inclurait les chaînes 'ABC' et 'def' , ce qui ne veut pas .


Je ne pense pas que la modification fonctionne en général, car elle utilise explicitement la chaîne 'signe' ; Cela ne fonctionnera probablement pas comme prévu si list 2 changements.



-2
votes

Si je n'ai pas compris mal, vous voulez supprimer un mot de signe avec des ponctuations aussi.

s.translate(str.maketrans('', '', string.punctuation))


3 commentaires

Avez-vous essayé le code ci-dessus? 'signe.'. Traduire (aucun, "") >> TypeError Traduire () prend exactement un argument (2 donné)


@Sushanth je suppose que vous utilisez une version supérieure de Python puis moi. Je modifie. Vous pouvez le vérifier pour une solution de version supérieure


Je ne sais pas quand il change exactement. Vous avez les outils de recherche comme moi. Vous pouvez le vérifier facilement. Je ne comprends pas de quoi recherchez-vous dans Stackoverflow. Nous sommes ici pour nous aider mutuellement. La raison ne donne pas une solution exacte.



0
votes

Essayez ceci, ^ (\. |) startswith . ou vide suivi de signe Xxx


0 commentaires

0
votes

Voici comment vous pouvez utiliser str.strip () code> pour désactiver tout '.' code>, puis comparer: xxx pré>

Sortie: P>

['DESIGN', 'design', 'deSIGn', 'xxdesignxx', 'xxdesign', 'xxdesignxx', 'xxsignxx', 'xxsign', 'xxsignxx']


0 commentaires