C'était une question amusante! Une autre façon de gérer cela pour les listes de longueur variable est de créer une fonction qui tire pleinement parti de la .format
méthode et du déballage des listes. Dans l'exemple suivant, je n'utilise aucun formatage sophistiqué, mais cela peut facilement être modifié pour répondre à vos besoins.
list_1 = [1,2,3,4,5,6]
list_2 = [1,2,3,4,5,6,7,8]
# Create a function that can apply formatting to lists of any length:
def ListToFormattedString(alist):
# Create a format spec for each item in the input `alist`.
# E.g., each item will be right-adjusted, field width=3.
format_list = ['{:>3}' for item in alist]
# Now join the format specs into a single string:
# E.g., '{:>3}, {:>3}, {:>3}' if the input list has 3 items.
s = ','.join(format_list)
# Now unpack the input list `alist` into the format string. Done!
return s.format(*alist)
# Example output:
>>>ListToFormattedString(list_1)
' 1, 2, 3, 4, 5, 6'
>>>ListToFormattedString(list_2)
' 1, 2, 3, 4, 5, 6, 7, 8'
(x)
est la même chose quex
. Mettre un seul jeton entre crochets n'a aucune signification en Python. Vous mettez généralement des crochetsfoo = (bar, )
pour faciliter la lecture, mais vous faitesfoo = bar,
exactement la même chose.