sorted(zip(all_genres, glob_sums), key = float, reverse=True)[:3]
我需要為我的資料列印前 3 個值,但我不斷收到'float' object is not iterable error. glob_sums是一個浮點值串列,all_genres是一個對應字串值的串列。如何按 的降序對串列進行排序,glob_sums然后顯示前 3 個值及其對應的名稱?
uj5u.com熱心網友回復:
你可以試試
sorted(zip(all_genres, glob_sums), key = lambda (genre,s) : s, reverse=True)[:3]
uj5u.com熱心網友回復:
sorted 試圖將 應用于float()可迭代的每個元素。在您的情況下,每個元素都是("some name", some_value). 如果我們傳遞一個函式作為鍵,我們可以深入其中!
sorted(zip(all_genres, glob_sums), key = lambda x: float(x[1]), reverse=True)[:3]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/334943.html
上一篇:將第1個和第2個提高到最高和最低但不使用陣列排序的其他方法
下一篇:合并排序不列印排序陣列
