Comment générer tous les possibles chaînes de caractères en python?
Mon objectif est d'être en mesure de générer tous les possible des chaînes de caractères (Lettres et chiffres) de longueur x et être en mesure d'activer un bloc de code pour chacun. (comme un itérateur) Le seul problème, c'est ceux de la itertools ne pas faire des copies de la lettre, dans la même chaîne. Par exemple:
- Je obtenir "ABC", "BAC", "CAB", etc. au lieu de "AAA".
Des suggestions?
Vous devez vous connecter pour publier un commentaire.
Utilisation
itertools.produit()
:Notez que la création d'une liste contenant toutes les combinaisons est très inefficace pour des chaînes plus longues - itérer sur place:
Pour obtenir tous les caractères et des nombres utilisation
string.uppercase + string.lowercase + string.digits
.map
maintenant retourne un itérateur. La deuxième suggestion de l'utilisation deitertools.imap
n'est pas nécessaire sauf si vous utilisez la version de python est < 3.0.string
comme variable de nom!Utilisation
itertools.produit()
si vous voulez des lettres de répéter:itertools.combinations()
etitertools.permutations()
ne sont pas les outils appropriés pour faire votre travail.