Python二维列表(列表嵌套)

本文介绍了Python中二维列表的概念,包括如何通过直接定义、循环嵌套和列表推导式创建二维列表。还详细讲解了如何访问二维列表的元素,并提供了转置矩阵的多种实现方法,包括使用列表推导式和循环操作。

Python二维列表(列表嵌套)

二维列表相当于二维数组。

一、创建二维列表

1、直接定义
>>> a=[[1,2,3],[4,5,6],[7,8,9]]

2、循环嵌套定义:

>>> a=[]
>>> for i in range(3):
	a.append([])
	for j in range(3):
		a[i].append(i*3+j+1)		
>>> a
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

3、通过列表推导式:

>>> a=[[i*3 +j for j in range(1,4)] for i in range(3)]
>>> a
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

二、访问

主要通过下标索引。

>>> a
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>> for i in range(3):
	for j in range(3):
		print(a[i][j],end=" ")
	print()	
1 2 3 
4 5 6 
7 8 9

三、应用

例:转置矩阵
方法一:列表推导式:

>>> a
[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
>>> b = [[r[c] for r in a] for c in range(len(a[0]))]
>>> b
[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]

方法2:列表推导式2:

>>> a
[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
>>> b = [[a[r][c] for r in range(3)] for c in range(4)]
>>> b
[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]

方法3:使用循环

>>> a
[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
>>> b=[]
>>> for i in range(4):
	b.append([r[i] for r in a])	
>>> b
[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]

方法4:使用循环:

>>> a
[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
>>> b=[]
>>> for i in range(4):
	b.append([])
	for j in range(3):
		b[i].append(a[j][i])		
>>> b
[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]

方法五:

>>> a
[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
>>> b=[]
>>> for i in range(4):
	bw = []
	for rw in a:
		bw.append(rw[i])
	b.append(bw)	
>>> b
[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值