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

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

為什么最后提示錯誤呢?

為什么最后提示錯誤呢?

海綿寶寶撒 2022-11-19 17:13:38
雖然3.x中沒有了cmp()函數,是不是可以自定義,然后再把它作為參數提供給sort,進行排序,但是最后提示錯誤。一、代碼如下:# -*- coding:utf-8 -*-numbers=[2,4,9,45,21,1,4,7,]def cmp(x,y):if x>y:return 1elif x==y:return 0else:return -1print(cmp(42,79))numbers.sort(cmp)print(numbers)二、錯誤提示如下: numbers.sort(cmp)TypeError: must use keyword argument for key functionPS:經測試,print(cmp(42,79))可以正常返回數值,說明自定義cmp()函數沒有問題。新手無知,求指教!
查看完整描述

1 回答

?
阿晨1998

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

numbers.sort這種用法是錯誤的,如果你想要排序,則用如下語句:
num_sort=sorted(numbers,key=None,reverse=False)
新的list num_sort才是一個排序后的列表。然后,你自定義的cmp過程只能對比兩個數字,而能對比列表中的各個元素,python3解釋器不知道你要做什么,所以才會出錯。

查看完整回答
反對 回復 2022-11-22
  • 1 回答
  • 0 關注
  • 102 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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