これは楽しい質問でした!可変長リストでこれを処理する別の方法は、.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,
まったく同じことを行います。