1
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]还可以

4

3 回答 3

4

9j是虚数(复数),因此它是有效的文字。其他的不是。可能你想要字符串,在这种情况下你应该用引号(单引号或双引号)写'9a','9b'等。

于 2012-04-05T20:04:15.000 回答
2

请参阅文档的这一部分

有四种不同的数字类型:纯整数、长整数、浮点数和复数。[...]

数字由数字文字或内置函数和运算符创建。未经修饰的整数文字(包括二进制、十六进制和八进制数)会产生纯整数,除非它们表示的值太大而无法表示为纯整数,在这种情况下,它们会产生长整数。带有'L''l'后缀的整数文字产生长整数('L' 是首选,因为 1l 看起来太像十一了!)。包含小数点或指数符号的数字文字产生浮点数。将“j”“J”附加到数字文字会产生一个实部为零的复数

因此,这两个实际上是有效的表达式:

a=[2,3,4,9j] # okay
a=[2,3,4,9l] # no error
于 2012-04-05T20:15:34.140 回答
1

您偶然发现了 python 中的复数符号。出于某种原因,j用于代替i虚数。

于 2012-04-05T20:05:09.240 回答