3 回答
TA贡献2051条经验 获得超10个赞
当前代码存在几个问题:
您正在以一种非常不常见的方式导入库。
numpy as np
导入或更为常见pandas as pd
。randint()
需要正确调用。它不是Python中的内置函数。这是so下的一个方法,要么在导入阶段np.random
做,要么像下面这样使用。from numpy.random import randint
另外,randint()
除了一些论点。range(0,99)
只会为您生成 99 个数字。您应该使用range(0,100)
或range(100)
。你不能
c1*c1*c1
这样做lists
。您需要对每个元素执行此操作。您可以使用列表理解(见下文)。或者,您可以转换lists
为numpy array
,c1 = np.array(c1)
然后执行c1*c1*c1
.
这是一个可行的解决方案:
import numpy as np
#using list comprehension to generate 100 random numbers between 0 to 9
c1 = [np.random.randint(10) for i in range(100)]
#using list comprehension to cube each number
c2 = [x*x*x for x in c1]
print(c1)
print(c2)
输出:
[6 9 3 4 4 0 4 5 5 4 8 7 6 2 7 8 5 6 9 0 4 6 6 1 4 1 2 4 3 2 6 0 1 5 5 6 9
5 2 3 1 4 9 1 8 5 8 1 3 1 0 9 2 5 0 7 9 1 8 9 7 7 2 5 0 2 9 1 0 2 4 4 9 3
3 9 8 0 5 5 2 9 8 2 4 2 7 3 2 6 8 1 5 9 4 6 3 4 2 8]
[216 729 27 64 64 0 64 125 125 64 512 343 216 8 343 512 125 216
729 0 64 216 216 1 64 1 8 64 27 8 216 0 1 125 125 216
729 125 8 27 1 64 729 1 512 125 512 1 27 1 0 729 8 125
0 343 729 1 512 729 343 343 8 125 0 8 729 1 0 8 64 64
729 27 27 729 512 0 125 125 8 729 512 8 64 8 343 27 8 216
512 1 125 729 64 216 27 64 8 512]
TA贡献1810条经验 获得超5个赞
由于您已经熟悉numpy,您可以使用 numpy random 函数并生成n一定数量的随机整数,其中最大可能的整数如下range_limit:
from numpy import random
c1 = random.randint(range_limit, size=(n))
c2 = [i**3 for i in c1]
因此生成 0 到 100 之间的 5 个值;
c1 = random.randint(100, size=(5))
然后将它们切块
添加回答
举报