亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問一些關于Python中sort函數賦值的問題?

請問一些關于Python中sort函數賦值的問題?

慕俠2389804 2019-07-09 15:07:08
關于Python中sort函數賦值的問題
查看完整描述

6 回答

?
叮當貓咪

TA貢獻1776條經驗 獲得超12個贊

james.sort()是直接在原來james上排序,執行后james已經排好序,但sort()函數返回None,print(james.sort())輸出的是sort()的返回值,james.sort() ,print(james)才會打印排序好的james

sorted(james)是返回一個新的排序好的列表 ,原來的james沒有變

查看完整回答
反對 回復 2019-07-13
?
滄海一幻覺

TA貢獻1824條經驗 獲得超5個贊


c是一個list,list中的每一個元素都是一個tuple,如c[0]=(0,9), c[1]=(1,8)

key的作用是指定待排序list(此處即C)中的元素中用來作為排序依據的屬性

上例中的key為匿名方法,分別以c[i][0], 和 c[i][1] 作為排序依據,所以有這個結果

cmp的作用是指定比較的標準,如升序,逆序等等

例2
L中的元素是tuple,cmp的作用是對L[i][1]和L[j][1],使用內置cmp方法比較大小,由于L[i][1]是int,因此最后按升序排列

你可以考慮這樣一個例子, 有一個類Person, 有兩個屬性,Person.age, Person.gender

key的作用是可以指定按年齡還是按性別排序,cmp的作用是可以指定排序的標準(例如以年齡排序時升序還是降序,以性別排序時何種性別在前)

例3
randint的作用是隨機生成指定范圍的整數,由于此處范圍是1到2,所以randint總是生成1或2
因此f隨機返回-1和1

以f作為cmp參數時,得到亂序結果

查看完整回答
反對 回復 2019-07-13
?
至尊寶的傳說

TA貢獻1789條經驗 獲得超10個贊

li.sort(cmp=None, key=None, reverse=False)
uMinNum = li[0]
li.sort(cmp=None, key=None, reverse=True)
uMaxNum = li[0]
-----------------------------------------
li是一個列表,用列表存儲這些數據, 然后用列表的排序方法sort()。
li.sort(cmp=None, key=None, reverse=False)也可以寫成li.sort(), 因為sort()函數的原形就是這樣。默認的為是升序排序。
li.sort(cmp=None, key=None, reverse=True)修改sort()的reverse變量, 讓sort()進行降序排序。
li[0] 是取排好序后的第一個元素



查看完整回答
反對 回復 2019-07-13
?
元芳怎么了

TA貢獻1798條經驗 獲得超7個贊

首先,數字排序,字符串排序這里就不論述了;
其次,經試驗驗證,比較數據時,所有的數字均視為小于字符
eg.
>>> sorted(['a',8125,'812'])
[8125, '812', 'a']
>>>

查看完整回答
反對 回復 2019-07-13
?
慕哥9229398

TA貢獻1877條經驗 獲得超6個贊

1,3,a 主要根據asc碼排序,1和3屬于int類型,a屬于str類型,i的asc碼在s前面,所以先排數字,然后1排在3前面沒有什么疑問了吧。

查看完整回答
反對 回復 2019-07-13
  • 6 回答
  • 0 關注
  • 926 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號