型指定してコードを書く場合、for
構文でひとつひとつ要素を追加するよりも[...]*n
や内包表記、ジェネレーター式+tuple()
を使った方が要素の型指定も省略できます。
VSCodeでは次のコードでlist[int]
やtuple[int, ...]
などが推論されます。
#list1は型指定しなくてもlist[int] list1 = [0]*5 #tuple1は型指定しなくてもtuple[Literal[0], ...] tuple1 = (0,)*5 #list2は型指定しなくてもlist[int] list2 = [x for x in range(5) if x % 2 == 0] #tuple2は型指定しなくてもtuple[int, ...] tuple2 = tuple(x for x in range(5) if x % 2 == 0)
対してfor
構文を使うと変数宣言時の型指定が必要となります。
# list3はlist list3 = [] for i in range(5): if i % 2 != 0: continue list3.append(i) # tuple3はtuple tuple3 = tuple(list3)