come filtrare gli elementi della lista che contengono caratteri non validi in Python 3.x?

sto scrivendo una funzione in Python 3.x che prenderà una lista di variabili di stringa e una lista di caratteri validi come argomenti e restituirà una lista filtrata contenente elementi della lista originale che sono costituiti solo da caratteri validi. penso di poter ottenere il risultato usando due cicli di For annidati per iterare attraverso gli elementi della lista e poi passare attraverso ogni carattere del dato elemento, ma voglio sapere se c’è un modo più efficiente per ottenere questo risultato usando metodi o funzioni Python.

per le seguenti due liste:

valid_characters = ['A','B','C']
my_list = ['abcde','AbCB','ABCBA','XYZ','CBCBB','CABzBAC']

la funzione restituisce lista filtrata ['ABCBA','CBCBB']

EN From: How to filter out list elements that contain invalid characters in Python 3.x?

More similar articles:

2 Comments

  1. è possibile convertire valid_characters in un set in modo da poter determinare in modo efficiente se una stringa è composta esclusivamente da caratteri nel set testando se il set è un superset dei caratteri nella stringa:

    valid_set = set(valid_characters)
    print([s for s in my_list if valid_set.issuperset(s)])

    questo output:

    ['ABCBA', 'CBCBB']

Leave a Reply

Your email address will not be published. Required fields are marked *