解包赋值与打印矩阵

解包赋值

在python中,序列解包赋值是一种常用的赋值语法。

a, b, c = (1, 2, 3)
x, y = [4, 5]
print(a, b, c)
print(x, y)

这种用法是很常见的。
其实,=号右侧不但可以使用常见的列表、元组等内置类型,更一般的对于所有的可迭代对象都是支持的,包括字典、文件、range、zip object、enumerate object、map object、filter object、生成器等。

a, b, c = range(3)
print(a, b, c)

对于文件,可以使用解包赋值语法将行赋值给变量。
在这里插入图片描述
函数调用时,位置参数的传递也可以使用解包的方法进行传参。

def f(a, b, c):
	print(a + b + c)
f(*range(3))

打印矩阵

打印矩阵或列表是一种常见的需求。一般打印列表可以使用for循环简单实现:

a = [1, 2, 3]
for i in a:
	print(i, end=' ')

但是由于解包赋值的存在,可以使用更简洁的代码,不需要使用循环语句:

a = [1, 2, 3]
print(*a)

尤其是对于矩阵的打印,避免了嵌套循环:

A = [[1, 2, 3],
	 [4, 5, 6],
	 [7, 8, 9]]
for row in A:
	print(*row)
原创文章 6 获赞 4 访问量 635

猜你喜欢

转载自blog.csdn.net/zhakngye/article/details/104706039
今日推荐