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

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

如何按降序編寫多維的每個子列表?

如何按降序編寫多維的每個子列表?

尚方寶劍之說 2022-06-07 19:38:56
input = [[3,2,4],[5,7,8],[9,1,4]]output = [[4,3,2],[8,7,5],[9,4,1]]我感謝您的幫助。有沒有一種pythonic的方法?我也有 numpy,所以使用 numpy 會很酷。我已經集思廣益,想嘗試通過將每個子列表編寫為一維列表,然后按降序編寫每個子列表,然后重新引入多維列表來做到這一點。你怎么能這樣?我非常數學,所以看到一個非常數學的方法會很酷嗎?
查看完整描述

2 回答

?
泛舟湖上清波郎朗

TA貢獻1818條經驗 獲得超3個贊

您可以使用:


output=[sorted(sublist,reverse=True) for sublist in input]

print(output)

輸出:


[[4, 3, 2], [8, 7, 5], [9, 4, 1]]


查看完整回答
反對 回復 2022-06-07
?
慕仙森

TA貢獻1827條經驗 獲得超8個贊

output = [sorted(l)[::-1] for l in input]]與 相比,使用速度最快output = [sorted(l, reverse=True) for l in input]。我也提供了證據。


In [4]: input = [[3,2,4],[5,7,8],[9,1,4]] 

   ...:  

   ...: output = [sorted(l)[::-1] for l in input]                                                                                                                        

In [5]: output                                                                                                        

Out[5]: [[4, 3, 2], [8, 7, 5], [9, 4, 1]]

Proof- 哪個最快,sorted(l, reverse=True)或者sorted(l)[::-1]?

注意:有關更多詳細信息,請timeit訪問https://docs.python.org/2/library/timeit.html


In [10]: from timeit import timeit                                                                                                                                          


In [11]: timeit("[sorted(l)[::-1] for l in [[3,2,4],[5,7,8],[9,1,4]] ]", number=1)    


Out[11]: 5.978000444883946e-06


In [12]: timeit("[sorted(l, reverse=True) for l in [[3,2,4],[5,7,8],[9,1,4]] ]", number=1)                                                                                                                  

Out[12]: 7.292000191227999e-06

第一種方法比第二種方法花費的時間更少。


In [13]:  

In [33]: 5.978000444883946e-06 < 7.292000191227999e-06                                                                                                                                                      

Out[33]: True


In [34]:  


查看完整回答
反對 回復 2022-06-07
  • 2 回答
  • 0 關注
  • 139 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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