【发布时间】:2021-11-15 05:03:36
【问题描述】:
我一直在谷歌上搜索这个问题的答案,到目前为止,我只看到了针对不同问题的类似结果。
我的列表列表结构如下(编辑:数组是 numpy):
[array([[item]]), array([[item2]]), ...]
如您所见,这不是格式不一致(这是在之前的操作中使用 numpy 列向量的结果)。我想使用 1 行列表理解将其展平为一个简单的值列表。类似的问题包括可变大小的子列表或子子列表,我不必担心。
对我来说最有意义的“解决方案”:
[item for sublist for arr in list for item in sublist in arr]
但这由于语法原因不起作用,更不用说我不确定它是否足够深入。
我想知道这是否可能,是否有比我更聪明的人想出一个解决方案。对时间不敏感,我们已经满足于散点图......现在。
干杯!
【问题讨论】:
-
请举个例子。
array是什么?是np.array吗? “由于语法原因不起作用”是什么意思?请提供确切的错误(当然还有产生该错误的代码)。 “我不确定它是否够深”是什么意思?你的输入有更深的嵌套吗?你真的需要一个具体的例子。 -
您认为
for sublist for arr in list和for item in sublist in arr是什么意思?请注意,for ... in ...是 一个 语法元素,而不是两个独立元素的组合。 -
[arr.tolist() for arr in alist]将是一个开始。也许在适当的情况下使用arr.ravel().tolist()甚至arr.item()。 -
如需更好的答案,请提供minimal reproducible example
-
@j1-lee,是的,它是一个 numpy 数组。抱歉,我假设“numpy”标签和对 numpy 操作的引用暗示了这一点,但我应该更清楚。 @MisterMiyagi,我看到
for ... in ...是一个语法元素,因为我经常做简单的列表理解。但是,我仍在尝试破译嵌套列表理解的机制,考虑到双层遵循item for sublist in list for item in sublist每 this 帖子,这是我对三层的最佳猜测。
标签: python arrays numpy list-comprehension