上次刷题,刷到一个list中嵌套list,里面那个list是int的题目,需要求每个内list的最大值和每一列的最大值,见图。
(1)每一行求最大值很好处理,对于列,我原本的处理方法就是用两个变量进行遍历,写出来的代码可读性不强。别人的方法里用来zip()函数。
zip()函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元祖(tuple)。
zip(*被打包的元祖)可将被打包的元祖返回成二维矩阵形式,类似于解压缩。
所以在此题中,可用zip(*A)将每一个内嵌list反向输出成二维数组,再求每每一列的最大值。
(2)enumerate()函数将一个可遍历的数据对象(在这里为嵌套的list,enumerate(list))组合为一个索引序列,返回下标和对应位置的变量值,类似于返回一个键值对。可和for循环结合使用。