繁体   English   中英

如何切片数组并在python中为矩阵赋值?

[英]How to slice a array and assign values to a matrix in python?

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]]

非常感谢你!

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

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

在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]
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会抓取列表的其余部分。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM