你如何在一个numpy数组中调用位置X的元素?

时间:2015-10-13 10:30:17

标签: python arrays python-3.x numpy

import numpy as np

S = np.array(l)
for i in range(1, l):
    random_int = randint(0, 1)
    np.append(S, random_int)

我创建了一个大小为l的numpy数组,并用零和一个填充它。假设我想打印数组的第三个元素。我怎么做?

如果我输入

print(S[2])

我收到以下错误:

IndexError: too many indices for array

3 个答案:

答案 0 :(得分:2)

我只想以这种方式生成0到1之间的L个随机数:

L = 10
S = np.random.random_integers(0,1,L)
print S
print S[2]

返回:

[1 0 0 1 0 0 1 1 0 1]
0

答案 1 :(得分:1)

np.append(S, random_int)random_int附加到数组S副本。您需要在S = np.append(S, random_int)循环中使用for

示例

import numpy as np
from random import randint

l = 5
S = np.array(l)
for i in range(1, l):
    random_int = randint(0, 1)
    S = np.append(S, random_int)

print(S)
print(S[2])

<强>输出

[5 1 1 0 1]
1

答案 2 :(得分:1)

首先,S = np.array(l)不会产生长度为l的数组,而是长度为1的数组,其唯一的条目是l。 所以你可以用S = np.zeros(l)替换这一行(创建一个长度为l的数组为零。 然后,在你的for循环中,你必须这样做:

for i in range l:
   S[i] = randint(0, 1)

这只是为了指出你的错误。正如@Fabio所说,你可以在一行中做到这一点。