Это был забавный вопрос! Другой способ справиться с этим для списков переменной длины - создать функцию, которая полностью использует преимущества .format
метода и распаковки списка. В следующем примере я не использую необычное форматирование, но его можно легко изменить в соответствии с вашими потребностями.
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)
то же самое, что иx
. Помещение одного токена в скобки не имеет смысла в Python. Обычно вы вставляете скобки,foo = (bar, )
чтобы было легче читать, но делаете тоfoo = bar,
же самое.