Python: 根据列位置将嵌套数组转换为新格式化的嵌套数组
Python: Convert Nested Array to Newly Formatted Nested Array Based on Column Position
假设我有一个这样的嵌套数组:
array = [[1,7], [49, 9], [3, 80], [13, 15]]
从上面的数组中,我想创建两个基于垂直“列”的新数组(在嵌套数组中)。这是我想要的输出:
new_array = [[1, 49, 3, 13], [7, 9, 80, 15]]
我希望逻辑在我有长度为 2(如我的示例)或 30(或更多)的单独嵌套数组的情况下工作。
我试着用字典来做这件事。代码的逻辑看起来像这样,但字典没有生成我要查找的内容:
featureCol["valuesList{}".format(i)].append(nestedArray[i])
此外,我唯一可以使用的库是 numpy
。我在 Python.
中没有任何其他可用的库
您可以将 zip()
用于列表解包。此操作假定所有输入列表的长度相同,但不对输入列表的大小做任何假设,否则:
result = list(list(item) for item in zip(*array))
print(result)
这输出:
[[1, 49, 3, 13], [7, 9, 80, 15]]
假设我有一个这样的嵌套数组:
array = [[1,7], [49, 9], [3, 80], [13, 15]]
从上面的数组中,我想创建两个基于垂直“列”的新数组(在嵌套数组中)。这是我想要的输出:
new_array = [[1, 49, 3, 13], [7, 9, 80, 15]]
我希望逻辑在我有长度为 2(如我的示例)或 30(或更多)的单独嵌套数组的情况下工作。
我试着用字典来做这件事。代码的逻辑看起来像这样,但字典没有生成我要查找的内容:
featureCol["valuesList{}".format(i)].append(nestedArray[i])
此外,我唯一可以使用的库是 numpy
。我在 Python.
您可以将 zip()
用于列表解包。此操作假定所有输入列表的长度相同,但不对输入列表的大小做任何假设,否则:
result = list(list(item) for item in zip(*array))
print(result)
这输出:
[[1, 49, 3, 13], [7, 9, 80, 15]]