python - python - IndexError:索引 9 超出轴 0 的范围,大小为 1
问题描述
我正在尝试运行以下代码。不幸的是,我收到一个我自己还无法解决的错误。
import numpy as np
import random
def reallyrandom(arg1, arg2, arg3):
int1=int(arg1)
int2=int(arg2)
int3=int(arg3)
np.random.seed(42)
x=np.random.randint(0,10, size=int1)
print(x)
print(x.shape)
y=x*int2
print(y)
print(y.shape)
z=y[int3]
print(z)
print(f"Your random value is {z}")
reallyrandom(1,2,9)
错误:
IndexError Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_15232/4039400629.py in <module>
23
24 #reallyrandom(59,2,7)
---> 25 reallyrandom(1,2,9)
~\AppData\Local\Temp/ipykernel_15232/4039400629.py in reallyrandom(arg1, arg2, arg3)
16 print(y)
17 print(y.shape)
---> 18 z=y[int3]
19 #print(z)
20
IndexError: index 9 is out of bounds for axis 0 with size 1
问题似乎从定义值 z 开始,line z=y[int3]
我不知道如何解决它。有人可以解释我做错了什么吗?我在互联网上发现这是一个索引错误?
先感谢您!
解决方案
该行z = y[int3]
试图从数组中获取第 9 个值y
(因为索引int3
为 9),但数组中只有一个值。这一行:
x = np.random.randint(0, 10, size=int1)
正在创建一个只有一个随机值的数组(因为 的值为int1
1)。例如,如果要创建一个包含 10 个随机数的数组,请使用:
x = np.random.randint(0, 10, size=10)
或者,您可以使用其他变量 for size
,但它需要大于您传入的索引,z = y[int3]
否则您将得到相同的IndexError
.
推荐阅读
- reactjs - Connect() 没有将状态从商店传递给孩子
- php - 如何通过指定索引在php中开始搜索来搜索数组
- javascript - 从不同的导航栏加载 div 中的动态内容
- xamarin.forms - 自定义弹出窗口,就像 Xamarin 表单中的选择器一样
- python - 相对于python中的另一个输入变量缩放输入特征
- kubernetes - 使用 traefik 对 kubernetes apiserver 进行负载均衡
- php - 具有多个正文关键字的 IMAP_SEARCH
- django - 尝试 SubURL 时出现 Django 语法错误
- android - Xamarin - 尝试加载 libtbb.so 导致运行时“libc.so”未找到消息
- php - 选择不使用函数显示的选项