【任 务】有一个包含列表(行)的列表,现在想获得另一个列表,该列表包含相同的行,但是一些列被删除和重新排序了。
【解决方案】
假设我们的列表是 listeg = [[0,1,2], [3,4,5], [6,7,8]],现在我们想去除第2列,同时把第1列和第3列互换。
方法一:
格式:[[ ] for row in listeg] ,在内部[ ]写上自己想要的列,本要求中为[row[2], row[0]]
方法二:
格式:[[ ] for row in listeg] ,在内部[ ]写上自己想要的列,但是内层的列也采用了和外层相同的格式,即[row[i] for i in [2, 0]]
点评:方法一直接采用直接列举的方法,简介明了。但是列数多了就显得过于臃肿。方法二内外采取相同的格式,显得更加优雅与简便。同时对方法二可以继续提炼,直接作为函数调用。
方法二(改进):
方法三:
方法三采用了内置map()函数。下面稍微介绍一下:
map()函数
格式:map(函数, 序列)
功能:函数作用于序列
返回值:处理结果以列表形式返回
事例:
第一个例子中取得‘012345’中的第0个和第2个元素;第二个例子把序列中的元素转化为整数型。