我有一个数据数组,在这个数组中,我通过一个三维浮点数组进行切片,并附加满足一组上下界(也是浮点)的元素数。你知道吗
代码的第一部分包含一个嵌套的for
循环,其样式如下:
x_lst = []
for i in range(len(x1)):
for x in range(len(floatarray[0,:,0])):
if x1[i] <= floatarray[0,x,0] <= x2[i]:
x_lst.append(x)
#issues after this point
内部循环将数组(floatarray[0,x,0]
)中的数据与边界x1
和x2
进行比较,返回整数列表,而外部循环则遍历边界的值。你知道吗
我遇到的问题是输出(x_lst
)是一个列表,而我一直在尝试生成一个列表列表,每个子列表对应于iterablei
。你知道吗
例如
#Desired output
x_lst = [[5,6,7,13,14],[21,22,23,36,37],[44,45,...
#Actual output
x_lst = [5,6,7,13,14,21,22,23,36,37,44,45,...
我觉得有一种非常简单的方法可以做到这一点,但是我还没有想出任何有效的方法(比如在append之后尝试使用x_lst.split()
)。你知道吗
另外,任何关于这个问题的反馈都会很好,因为我对这个问题还相当陌生。你知道吗
代码中的所有内容似乎都是正确的,除了附加到一维数组中。为了解决您的问题,您可以简单地更改代码,这样一个名为temp的临时数组将在内部循环中附加数据,然后将数据附加到外部数组x_lst,如下所示:
下面的方法似乎应该有效:为什么不为每个
i
创建一个中间子列表,并将适当的值添加到子列表中,最后将子列表添加到主列表中?你知道吗好的,Sam的答案是正确的,因为它通过迭代附加了值,但是用我的代码生成了
len(i)
列表,其中每个子列表都包含满足x1
和x2
所有元素的x
值,不是每个列表都包含特定于x1
和x2
的[i]
元素的值,因此所有子列表都是相同的。你知道吗我通过用列表理解替换内部
for
循环来解决这个问题,如下所示,它给出了正确的结果(以所需的形式x_lst = [[5,6,7,13,14],[21,22,23,36,37],[44,45,...
):相关问题 更多 >
编程相关推荐