【发布时间】:2019-02-27 11:20:42
【问题描述】:
for n in range(1,(len(randnum))/3):
X.append(randnum(n))
for i in range((len(randnum))/3 , (2/3)*len(randnum)):
Y.append(randnum(i))
for r in range ((2/3)*len(randnum) , len(randnum)):
Z.append(randnum(r))
我一直在尝试根据此标准创建一个列表,但我不断收到以下错误消息:
for n in range(1,(len(randnum))/3):
TypeError: 'float' 对象不能被解释为整数
导致问题的程序部分是上面的部分,如果我可以修复它,我可以将错误应用到其余部分。
这是一个示例列表,用于填充其他三个它有 20 个元素,我希望我形成的每个列表都从这个列表中获取来自不同位置的大约 1/3 的元素:
[ 59.18013391 12159.7881626 26308.21887981 8357.05103068
20718.85232457 16333.1546026 9828.75690047 10273.65018539
5949.58907673 8767.68292925 31826.29595355 13749.12915211
25423.61181129 28799.50849876 9517.54482827 27275.19296144
12460.2541769 25883.7888204 10393.9452616 26008.572598 ]
我希望这段代码形成 3 个新列表,其中包含例如
X = [59.18013391 12159.7881626 26308.21887981 8357.05103068
20718.85232457 16333.1546026]
Y = [9828.75690047 10273.65018539
5949.58907673 8767.68292925 31826.29595355 13749.12915211 ]
Z = [ 25423.61181129 28799.50849876 9517.54482827 27275.19296144
12460.2541769 25883.7888204 10393.9452616 26008.572598]
【问题讨论】:
-
我们可以看到列表和所需的输出
-
将范围参数转换为 int:
int((len(randnum))/3) -
根据您的问题,您希望列表 A 具有与列表 B 相同的长度和元素。那为什么不直接写 A=B 呢?
标签: python