「python を使ってみよう」と思いついて、勢いでネットで検索しまくって試行錯誤で python3 を学習してきました。
なので、最近になって一応解説本を読んではいるのですが「わかってる、わかってる」で飛ばしまくっているので、ごくごく基本的なことを知らなかったりすることがよくあります。
文法*1のネットでの解説などを眺めているとあったのが
a, b = map(int,"1 2".split())
これ、エラーでないんだと最近はじめて知りました。
イテラブルなものは直接変数に置き換えられるってこと?
変数に置き換えは
a, b = list(map(int,"1 2".split())) #or a, b = [*map(int,"1 2".split())] #or a, b = [int(i) for i in "1 2".split()]
みたいにリストでないといけないと思っていたのでした。
となると、
a, *b = map(int,"1 2 3".split())
が成り立つのはわかります。で、
a, b, c = range(3) d, *e = range(3)
でもいけるのかと試してみたら、両方ともいけますね。*2
当たり前のことなんでしょうけれど、ちょっと発見した気分で嬉しい。
import sys sys.version #3.8.13 | packaged by conda-forge | (default, Mar 25 2022, 05:59:45) [MSC v.1929 64 bit (AMD64)]