【任     务】有一个包含列表(行)的列表,现在想获得另一个列表,该列表包含相同的行,但是一些列被删除和重新排序了。

【解决方案】

假设我们的列表是 listeg = [[0,1,2], [3,4,5], [6,7,8]],现在我们想去除第2列,同时把第1列和第3列互换。

方法一:

          

python 在列表中完成队列的删除和排序_解决方案

      格式:[[ ] for row in listeg] ,在内部[ ]写上自己想要的列,本要求中为[row[2], row[0]]

方法二:

         

python 在列表中完成队列的删除和排序_函数调用_02

      格式:[[ ] for row in listeg] ,在内部[ ]写上自己想要的列,但是内层的列也采用了和外层相同的格式,即[row[i] for i in [2, 0]]

点评:方法一直接采用直接列举的方法,简介明了。但是列数多了就显得过于臃肿。方法二内外采取相同的格式,显得更加优雅与简便。同时对方法二可以继续提炼,直接作为函数调用。

方法二(改进):

          

python 在列表中完成队列的删除和排序_解决方案_03

方法三:

           

python 在列表中完成队列的删除和排序_解决方案_04

          方法三采用了内置map()函数。下面稍微介绍一下:

          map()函数

          格式:map(函数, 序列)

          功能:函数作用于序列

          返回值:处理结果以列表形式返回

          事例:

             

python 在列表中完成队列的删除和排序_函数调用_05

               第一个例子中取得‘012345’中的第0个和第2个元素;第二个例子把序列中的元素转化为整数型。