J'ai une chaîne comme suit:
for i in f:
if i != 'A' and i != 'C' and i != 'G' and i != 'T':
print(i)
4 Réponses :
juste faire il vérifie si la liste contient une charlette de la liste p>
"Y a-t-il un moyen de réaliser cela sans boucle via la chaîne?" Code> Ce code fait exactement ce que propose, juste à une manière de Néater (qui n'était pas le principe de la question)
C'est vrai. Je l'ai modifié pour que cela réponde maintenant aux exigences
Selon la taille de votre chaîne d'entrée, la boucle Cependant, puisque vous demandez explicitement une solution sans boucle explicite, cela peut être fait. avec une regex. p> sorties p> pour code> pourrait être la solution la plus efficace.
Vous pouvez utiliser définir code> pour obtenir la sortie souhaitée. {'Y','X','Z'} #characters in f which are not equal to 'A','C','G','T'
CORRECT si OP ne se soucie pas de la commande ou de la duplication (si f = 'abca'; not_valid = {'a'} code> impression aa aa code> aa code> )?
@DeepSpace Désolé, je n'ai pas compris votre requête (si f = 'abca'; no_valid = {'a'} Imprimer A ou AA)? Code> Si cela ne vous dérange pas, pouvez-vous expliquer?
S'il y a des caractères manquants dupliqués, votre solution n'imprimera que l'une d'entre elles et également en panne (car les ensembles sont sans ordonnance). Je ne dis pas que c'est mauvais, juste que OP ne spécifiait pas ce qu'ils veulent
@Deepspace Ma première approche utilisait Regex mais dans l'un des commentaires mentionné cela Je veux savoir s'il y a un caractère dans la chaîne F, sauf 'a', 'c', 'g' ou 't' < / I> Donc, je pensais que l'ensemble est l'une des options.
Techniquement, cette boucle mais nous convertissons votre chaîne d'entrée en un ensemble qui supprime les valeurs dupliquées
J'ai aussi pensé à cela, mais je ne savais pas si cela compte comme "boucle"
Voulez-vous vérifier si les caractères ne sont pas dans la chaîne ou souhaitez-vous imprimer tous les caractères sauf certains caractères? Ce sont 2 tâches différentes
Je veux savoir s'il y a un caractère dans la chaîne F sauf 'a', 'c', 'g' ou 't'. Si oui, je veux l'imprimer.
Votre principale raison de ne pas vouloir une boucle le temps / l'efficacité? Les ensembles semblent être un bon endroit pour optimiser une recherche, mais au coût de la conversion d'une chaîne à un ensemble, qui peut avoir un traitement de traitement important.
Est-ce que cela répond à votre question? Vérifiez si une chaîne contient uniquement des caractères
Voulez-vous dire sans utiliser de
pour code> boucle ou une construction de boucle. Par exemple, sous la hotte, des méthodes de programmation fonctionnelle (tout code>,mappe code>), et on pourrait faire valoir queregex code> fait aussi. Pour plus de clarté Voulez-vous éviter toute fonction qui utilise une construction en boucle, ou d'éviter les fonctions de boucle de base, telles quepour code>,pendant code>, etc.? Si le premier, peut-êtredéfinir code>, pour ce dernier, je prendrais probablement une approche de regex (correspondant code>).