1

在 Matlab 中我可以生成这样一个数组

a = [1, 3, 9:100, 201, 202];

9:100会给我9,10,...,100,所以我不必一一输入。在 numpy 中是否有等效的方法?

4

1 回答 1

2

是的。

In [3]: numpy.r_[1,3,9:100,201,202]
Out[3]: array([  1,   3,   9,  10, 11,  12,  13,  14,  15,  16,  17,  18,  19,
                20,  21,  22,  23,  24,  25,  26,  27,  28,  29,  30,  31,  32,
                33,  34,  35,  36,  37,  38,  39,  40,  41,  42,  43,  44,  45,
                46,  47,  48,  49,  50,  51,  52,  53,  54,  55,  56,  57,  58,
                59,  60,  61,  62,  63,  64,  65,  66,  67,  68,  69,  70,  71,
                72,  73,  74,  75,  76,  77,  78,  79,  80,  81,  82,  83,  84,
                85,  86,  87,  88,  89,  90,  91,  92,  93,  94,  95,  96,  97,
                98,  99, 201, 202])

请注意,切片在 numpy 中是右排他的,因此9:100包括 9,但不包括 100。9:101如果要包括 100,请使用。

于 2013-02-11T02:39:45.963 回答