Python数组操作中的While循环

Python数组操作中的While循环,python,python-3.x,numpy,for-loop,Python,Python 3.x,Numpy,For Loop,我正在编写以下Python代码 我希望做到以下几点: 创建一个可容纳5个项目折叠的总折叠数组 对于每个折叠,根据我知道在For…zip循环中正确的逻辑,从更大的数据集创建一个数据数组 为了帮助您理解: CLASSES和class_权重返回: [0.0,1.0,2.0,3.0,4.0,5.0,6.0]和[0.14285714 0.14285714 0.14285714 0.14285714 0.14285714 0.14285714 0.14285714 0.14285714 0.14285714

我正在编写以下Python代码

我希望做到以下几点:

创建一个可容纳5个项目折叠的总折叠数组 对于每个折叠,根据我知道在For…zip循环中正确的逻辑,从更大的数据集创建一个数据数组 为了帮助您理解: CLASSES和class_权重返回: [0.0,1.0,2.0,3.0,4.0,5.0,6.0]和[0.14285714 0.14285714 0.14285714 0.14285714 0.14285714 0.14285714 0.14285714 0.14285714 0.14285714]

时间倒计时=6工作不正常。简言之,我试图完成的是用5个单独的折叠填充总的折叠数组,每个折叠包含一个数据集中的许多行

当前的_fold_数组的一个例子可能是[A,B,C,D],因此最终,我有一个总的_fold_数组,它有5个单独的折叠,看起来像[[A,B,C,D,],[A,B,B,C],[A,A,A],[B,C,D,D],[B,B,C]]

然而,这个循环并没有做到这一点。相反,它创建的total_fold_数组的长度在本例中为7,而不是5倍

我的代码如下:

我目前得到的是一个包含7个项目的总折叠数组,而它应该包含5个项目。内的每个项目可以根据需要有任意多个项目,但总的折叠数组长度应为5个项目。我相信我的代码中有一个逻辑错误,我正在寻求帮助。如果我要使用一个包含5个类的数据集,这是合适的

请让我知道我是否需要更清楚地说明这一点。

就在之前,对于一个类,一个zipclasses中的类权重,类权重:,您正在将总折叠数组初始化为[]

该循环的执行次数与类中元素的执行次数相同

该循环的每次迭代都会将curr\u fold\u数组追加到total\u fold\u数组

这就是为什么在循环结束时,total_fold_数组中的元素与类中的元素一样多


您已将所有这些都包含在while count中!=6:. 这似乎完全没有必要——我认为while循环将只执行一次。在while循环的第二次迭代发生之前,您将从该函数返回。我的猜测是,您引入了while循环,希望它能够以某种方式将total_fold_数组中的元素数量限制为5。但这不会发生,因为在while循环中,for循环将total_fold_数组增加到7个元素,这发生在while循环的第一次迭代中。

count=count+1缩进是否正确?最后两行的缩进看起来也很可疑。不确定@wwii。我试着将它们向上移动1层,取而代之的是总的数组大小为1,所以我不知道这是否有帮助。谢谢,这非常有用。你关于while循环的直觉是正确的。如果我正确理解了你的答案,我需要将整个数组的实例化移到while循环之外,这确保我正确地创建了5倍,对吗?这确实取决于你打算做什么的一些细节,我没有。如果我要胡乱猜测,请尝试将最后四行的缩进减少一个缩进级别,这将使return语句脱离while循环,append语句脱离for循环。保留代码的其余部分,包括while循环。也许这会给你带来你想要的结果——但我只是在猜测你的课程目标。我如何改进我的问题以更好地解释我的意图?简而言之,我只需要创建一个包含5个元素的数组,其中每个元素本身都是类循环中逻辑的结果。我上面提到的建议肯定会确保total_fold_数组包含5个元素。但我不确定的是,其中的内容是否正确,是否与您对该内容的期望一致。到目前为止,您只声明了total_field_数组应该有5个元素,但您没有提到这5个元素的内容的任何细节。文章中描述的类和类权重大小不同,但本质上,它们用于循环遍历大型数据集,并将一定数量的元素附加到折叠中,或这5个元素中的一个。