Maison >développement back-end >Tutoriel Python >Comment puis-je obtenir un alignement à largeur fixe des chaînes imprimées en Python ?
En programmation, il est souvent souhaitable d'aligner les chaînes dans des colonnes fixes pour plus de clarté et d'organisation visuelle. Cet article explique comment y parvenir à l'aide de techniques de formatage avancées en Python.
Considérez le code suivant qui calcule la fréquence de toutes les permutations dans une chaîne donnée :
# Original code to generate permutations ... # Printing results unique = sorted(set(el)) for prefix in unique: if prefix != "": print("value ", prefix, "- num of occurrences = ", string.count(str(prefix)))
Cependant, la sortie peut sembler mal alignée en raison de longueurs de chaîne variables :
value a - num of occurrences = 1 value ab - num of occurrences = 1 value abc - num of occurrences = 1 value b - num of occurrences = 1 value bc - num of occurrences = 1 value bcd - num of occurrences = 1 value c - num of occurrences = 1 value cd - num of occurrences = 1 value d - num of occurrences = 1
Pour aligner la sortie, nous pouvons utiliser le str.format Méthode .format avec des spécificateurs de format spécifiques :
# Using str.format for alignment print("{0: <5}".format("value ") + "{1: >15}".format(prefix) + "- num of occurrences = " + "{2: <5}".format(string.count(str(prefix))))
Spécificateurs de format :
Modification 1 : Le "0" dans "{0 : <5}" fait référence à l'index de l'argument passé à str.format().
Edit 2 : Python 3 introduit f-strings comme alternative concise à str.format :
# Using f-strings for alignment print(f"{'value ':<5}" + f"{prefix:>15}" + "- num of occurrences = " + f"{string.count(str(prefix)):<5}")</p>
Avantages :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!