【任 務】有一個包含列表(行)的列表,現在想獲得另一個列表,該列表包含相同的行,但是一些列被刪除和重新排序了。
【解決方案】
假設我們的列表是 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個元素;第二個例子把序列中的元素轉化為整數型。