【问题标题】:How to slice a array and assign values to a matrix in python?如何在python中对数组进行切片并将值分配给矩阵?
【发布时间】:2013-09-13 02:20:50
【问题描述】:
y = [[0,0,0],
     [0,0,0]]

p = [1,2,3,4,5,6]

y[0] = p[0,2]
y[1] = p[3,4]

返回错误 我想将p 中的值赋值给y,该怎么做?

答案应该是y = [[1,2,3],[4,5,6]]

非常感谢!

【问题讨论】:

  • 首先,很高兴知道您正在使用的语言。
  • Python,我想将 p 切片并放入 y 中

标签: python arrays matrix slice


【解决方案1】:

您的数组切片使用了错误的语法。应该是:

y[0] = p[0:3]
y[1] = p[3:6]
  1. 使用: 对数组进行切片。在维度之间使用,p 不是二维数组!
  2. 结束切片包括开始,不包括结束。所以0:2 只有元素01

【讨论】:

    【解决方案2】:

    在 Python 中,冒号 (:) 用于对数组进行切片:我认为这就是您要查找的内容:

    y = [[0,0,0], [0,0,0]]
    p = [1,2,3,4,5,6]
    y[0] = p[0:3]
    y[1] = p[3:6]
    

    【讨论】:

      【解决方案3】:
      y = []
      p = [1,2,3,4,5,6]
      
      y.append(p[:3])
      y.append(p[3:])
      
      print y 
      
      --output:--
      [[1, 2, 3], [4, 5, 6]]
      

      如果你没有在切片的第一个位置指定值,python 使用 0,如果你没有在切片的第二个位置指定值,python 会抓取列表的其余部分。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-04-08
        • 1970-01-01
        • 1970-01-01
        • 2016-10-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多