3 回答

TA貢獻2051條經(jīng)驗 獲得超10個贊
當前代碼存在幾個問題:
您正在以一種非常不常見的方式導入庫。
numpy as np
導入或更為常見pandas as pd
。randint()
需要正確調(diào)用。它不是Python中的內(nèi)置函數(shù)。這是so下的一個方法,要么在導入階段np.random
做,要么像下面這樣使用。from numpy.random import randint
另外,randint()
除了一些論點。range(0,99)
只會為您生成 99 個數(shù)字。您應該使用range(0,100)
或range(100)
。你不能
c1*c1*c1
這樣做lists
。您需要對每個元素執(zhí)行此操作。您可以使用列表理解(見下文)?;蛘撸梢赞D(zhuǎn)換lists
為numpy array
,c1 = np.array(c1)
然后執(zhí)行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條經(jīng)驗 獲得超5個贊
由于您已經(jīng)熟悉numpy,您可以使用 numpy random 函數(shù)并生成n一定數(shù)量的隨機整數(shù),其中最大可能的整數(shù)如下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))
然后將它們切塊
添加回答
舉報