1. 程式人生 > >【面試+工作劃重點】工作實戰python知識點,面試也會經常遇到

【面試+工作劃重點】工作實戰python知識點,面試也會經常遇到

分享工作中遇到的python知識點,估計很多人沒太留意過這個知識點,但是對鞏固很多基本語法和一些python中一些有用的方法很有幫助,工作中的問題我簡化說下,大概就是下面需求:

有3個python列表:分別是年齡,姓名,城市

a = [ 24 , 37,18, 45, 60]

b = [“張三” , “李四” ,“王五” ,“趙六” ," 孫七" ]

c = [“北京” , “上海” , “武漢” , “深圳” , “南京”]

a, b,c三個列表中的資料根據下標具有一一對應關係,現在要求排序,根據a列表中的數值從小到大排序,然後b和c列表中的元素根據a列表的排序也重新排下

也就是最終要的排序結果為:

a = [ 18,24,37,45,60]

b = [“王五” , “張三” ,“李四” ,“趙六” ," 孫七" ]

c = [“武漢” , “北京”,“上海”,“深圳”,“南京”]

記住一句話,學python一定要用最簡單的python方法去寫程式碼

下面我給大家分享我的做法:

1、用zip函式,將三個列表合併成一個大列表(預設是物件),然後大列表的每個元素為元組,元組的三個值就是a , b, c中對應下標的各個元素

在這裡插入圖片描述

2、我們構造成大列表的目的是將三個列表給統一到一個數據中,這樣我們可以用sorted函式進行排序,排序根據x[0]年齡排,如果是x[1]就是根據姓名排,如果是x[2]就是根據城市排

在這裡插入圖片描述

3、根據列表推導式將元素取出來,得出排序後的3個列表,與需求一致

在這裡插入圖片描述

4、補充,如果想從大到小排序,加reverse = True引數,表示反轉,預設是從小到大排序

在這裡插入圖片描述

5、zip函式是什麼鬼?

zip函式可以將物件中對應的元素打包成一個個元組,然後返回由這些元組組成的列表,這裡估計有人會問,那zip函式是相當於打包,有沒有那種類似unzip解包那種方法,我查閱文件,暫未發現該方法,所以用了列表推導式將排序後的3個列表取出來

6、sort和sorted我都見過,有什麼區別?

簡單記住:

sort : 無返回值,在原有列表基礎上進行修改

sorted:有返回值,得出新排序後的列表

比如下方是用sort時候的截圖,在原有基礎上進行排序,可以和sorted進行對比

在這裡插入圖片描述

順便提下,這些知識點其實在以前110道面試題中已經提及,有興趣可以將這些面試題做下,鞏固下,相信會有不少收穫

下方是之前的面試題,這些方法以前詳細講過

在這裡插入圖片描述

在這裡插入圖片描述