a=[2,3,4,9a] #error
a=[2,3,4,9b] # error
.
.
.
a=[2,3,4,9j] # okay
a=[2,3,4,9k] # error
.
.
a=[2,3,4,9z] # error
他の人がエラーを出している理由は理解していますが、なぜa=[2,3,4,9j]
大丈夫ですか
9j
は虚数(複素数)なので、有効なリテラルです。他のものはそうではありません。文字列が必要な場合は、引用符(シングルまたはダブル)を使用して、などを'9a'
記述する必要があります。'9b'
ドキュメントの次のセクションを参照してください。
単純な整数、長整数、浮動小数点数、および複素数の4つの異なる数値型があります。[...]
数値は、数値リテラルによって、または組み込みの関数と演算子の結果として作成されます。装飾されていない整数リテラル(2進数、16進数、8進数を含む)は、それらが示す値が大きすぎて単純な整数として表現できない場合を除き、単純な整数を生成します。その場合、それらは長整数を生成します。接尾辞が「L」または「l」の整数リテラルは長整数になります(1lは11に非常に似ているため、「L」が推奨されます)。小数点または指数記号を含む数値リテラルは、浮動小数点数を生成します。数値リテラルに「j」または「J」を追加すると、実数部がゼロの複素数が生成されます。
したがって、これら2つは実際には有効な式です。
a=[2,3,4,9j] # okay
a=[2,3,4,9l] # no error
Pythonで複素数表記に出くわしました。何らかの理由で、虚数のj
代わりにが使用されます。i