python二维数组的创建,以及在创建数组时为任意位置赋值

创建数组

创建一维数组

width = 2;
m = [0 for i in range(width) ] 
# m = [0, 0]

这样我们就创建好了一个宽度为2的数组

创建多维数组

width = 2; height = 3; 
m = [[0 for i in range(width) ] for j in range(height) ]

# m = [	[0, 0], 
# 		[0, 0], 
#		[0, 0] ]

这样我们就创建好了一个宽度为2,高度为3的二维数组
如果想要更多的维度,只要在最外层增加[ ? for x in range(Length) ]即可。

在创建数组时为任意位置赋值

我们只需要为初始值加上三元运算即可,也就是
a if cond else b
如果cond为真,则赋值为a,如果cond为假,则赋值为b

在创建时为某一行或者某一列赋值

width = 3; height = 3; 
m = [[0 if i!= 1 else 1 for i in range(width) ] for j in range(height) ]
# m = [	[0, 1, 0], 
#		[0, 1, 0], 
#		[0, 1, 0] ]
width = 3; height = 3; 
m = [[0 if j!= 1 else 1 for i in range(width) ] for j in range(height) ]
# m = [	[0, 0, 0], 
#		[1, 1, 1], 
#		[0, 0, 0] ]

在创建二维数组时为对角线赋值

s = "abc"
width = 3; height = 3; 
m = [[0 if i!=j else s[i] for i in range(width) ] for j in range(height) ]
# m = [	['a', 0, 0], 
#		[0, 'b', 0], 
#		[0, 0, 'c'] ]

这样我们就创建好了一个3*3的二维数组,并且对角线上为s中的值。

在创建二维数组时每隔一个赋值一次

width = 3; height = 3; 
m = [[0 if (i+j)%2==1 else 1 for i in range(width) ] for j in range(height) ]
# m = [ [1, 0, 1], 
#		[0, 1, 0], 
#		[1, 0, 1] ]

在创建二维数组时为单独某几个位置赋值

pos = [ [0, 0], [1, 2], [2, 1] ]
width = 3; height = 3; 
m = [[0 if [i, j] not in pos else 1 for i in range(width) ] for j in range(height) ]
# m = [	[1, 0, 0], 
#		[0, 0, 1], 
#		[0, 1, 0] ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值