【发布时间】:2016-10-08 12:38:15
【问题描述】:
您好,我正在尝试使用 for 循环编译字典中的一堆数组,但我似乎找不到合适的解决方案。
基本上是我所拥有的简化形式:
dict['w1']=[1,2,3]
dict['w2']=[4,5,6]
dict['w3']=[7,8]
x = []
for i in range(3):
x = np.concatenate([x],[dict['w'+str(i+1)].values],axis=0)
它提供了什么:
x = [1,2,3,4,5,6,7,8]
我想要什么:
x = [[1,2,3],[4,5,6],[6,7]]
我想使用 for 循环,因为我有太多要“编译”的数组,并且不能一一键入它们会非常低效。这样我可以使用创建的数组直接绘制箱线图。
存在一个类似的问题,没有循环要求,但仍然没有适当的解决方案。 Link
【问题讨论】:
-
您将无法使用 numpy 数组实现该解决方案,所有列和行在 np.array 中的大小必须相同。话虽如此,您似乎混淆了 numpy 数组和 python 列表,它们并不相同,所以如果您只使用列表,请不要使用 numpy 函数(对数组有效)。
-
预期 o/p 的最后一个元素必须是
[7,8],对吧? -
另外,我感觉到您希望避免问题的其他部分出现循环,除了这一行:
"I want to use the for loop ..."。那里有错字? -
我正在删除
duplicate; stackoverflow.com/questions/9285414/appending-to-a-nested-list 中的答案不如这里已经给出(并接受)的答案。
标签: python arrays python-3.x numpy jupyter