見出し画像

#2 リストやタプルに「*」を付けて展開


ここ最近、プログラミングを「写経」して学べるWebサービス「shakyo」でコードの写経に取り組んでいます。

ライセンスが期間限定で無償提供されて、ありがたく使わせていただいております。

LABOTは14日、プログラミングを「写経」して学べるWebサービスのライセンスを、新型コロナウイルスでオンライン学習を余儀なくされている教育機関や自宅待機中の新社会人に、9月30日までの期間、無償提供すると発表した。


今日はshakyoの中のレッスン「bubble_sort」のコードでわからない箇所があったので、自分なりに調べたものをここに載せます。

 print(*bubble_sort(unsorted), sep=",")


リストやタプルに「*」を付けて展開

リストlistやタプルtupleに*を付けて引数に指定すると、展開されてそれぞれの要素が個別の引数として渡される。

参考にしたのは、以下のサイト

def func(arg1, arg2, arg3):
   print(arg1)
   print(arg2)
   print(arg3)

l = ['one', 'two', 'three']

func(*l)
# one
# two
# three


ということは、shakyoでのコード

print(*bubble_sort(unsorted), sep=",")

は、

①リストbubble_sort(unsorted)が展開されてそれぞれの要素が個別の引数としてprint関数に渡される
②リストbubble_sort(unsorted)のそれぞれの要素が「,」区切りで出力される

という結果になるのでしょう(間違っていたらご指摘ください^^;)


サポート、本当にありがとうございます。サポートしていただいた金額は、知的サイドハッスルとして取り組んでいる、個人研究の費用に充てさせていただきますね♪