python sorted下标_【面试划重点】-- 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道面試題中已經提及,有興趣可以將這些面試題做下,鞏固下,相信會有不少收獲
110道python面試真題
下方是之前的面試題,這些方法以前詳細講過
總結
以上是生活随笔為你收集整理的python sorted下标_【面试划重点】-- Python常见知识点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电力系统matlab实验报告,基于mat
- 下一篇: IIC、UART