python - numpy 数组列表格式

标签 python arrays list numpy

我将如何格式化一个 numpy 形式的数组

data1 = np.array([[0,0,0],[0,1,1],[1,0,1],[1,1,0]])

以这种格式的列表:

data = [
       [[0,0], [0]],
       [[0,1], [1]],
       [[1,0], [1]],
       [[1,1], [0]]
    ] 

我尝试使用两个 for 循环

for i in range(len(data)):
    for j in range(3):
       if j == 2:
            va[i] = data1[i][j]
       else:            
            sa[i] = data1[i][j]

但这给了我一个索引越界错误。我很想知道如何解决这个问题

最佳答案

使用列表理解和切片:

>>> data1 = np.array([[0,0,0],[0,1,1],[1,0,1],[1,1,0]])
>>> print [[x[:2].tolist(), x[2:].tolist()] for x in data1]
[[[0, 0], [0]],
 [[0, 1], [1]],
 [[1, 0], [1]],
 [[1, 1], [0]]]

关于python - numpy 数组列表格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20450431/

相关文章:

python - GAE Python Gcloud - 在生产中运行的命令

python - 如何将列表中的整数转换为 int()?

python - "python3 -u"是什么意思?

python - 如何为每个键分配相同的值?

java - 从方法传递数组值并写入文本输出文件

Java:创建数组的副本而不使其成为引用

arrays - 更新嵌套在 mongodb 对象数组中的字符串数组

python - 通过递归公式改进纯Python素筛

r - 如何检查列表列表的元素是否符合条件?

python - 将分层(树状)XML 读入 Pandas 数据框,保留层次结构