To było zabawne pytanie! Innym sposobem rozwiązania tego problemu w przypadku list o zmiennej długości jest zbudowanie funkcji, która w pełni korzysta z .format
metody i rozpakowywania list. W poniższym przykładzie nie używam żadnego wymyślnego formatowania, ale można je łatwo zmienić w zależności od potrzeb.
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)
to to samo cox
. Umieszczenie pojedynczego tokena w nawiasach nie ma znaczenia w Pythonie. Zwykle umieszczasz nawiasy,foo = (bar, )
aby ułatwić czytanie, ale robiszfoo = bar,
dokładnie to samo.