Python實現按物件多屬性排序

2021-09-24 10:00:19 字數 497 閱讀 7339

多屬性排序:

把需要排序的屬性拿出來作為乙個 tuple,主要的放前面,次要的放後面。

假如某物件有n個屬性,那麼先按某規則對屬性a進行排序,在屬性a相等的情況下再按某規則對屬性b進行排序,以此類推。

終端列印結果如下:

按照屬性name進行排序:

按照ascii進行排序,本案例中,按照小寫字母的順序進行排序;

按照屬性name和age進行排序:

案例中,先斤=進行name進行排序後,再用age進行排序,我們看到的結果是:

主要是按照age進行排序,如果age相同,那麼就按照name屬性進行排序;

我們將**進行簡化,將多個需要進行排序的屬性直接放在元組裡傳入:

列印結果如下:

我們會發現,一次性將多個屬性傳入後,它的列印結果和上面的不一樣;原因是這樣的,我們如果需要進行多屬性的排序,那麼,主要的條件應該放在前面,次要的放在後面:

修改**如下:

結果如下,這就和我們想要的結果是一樣的了

ArrayList封裝物件實現多屬性同一迴圈輸出

對於老手來講,本文是不具技術含量的。主要是用於記錄本人在程式設計路上的那些事。可用於collection的遍歷。使用arraylist封裝物件為element,目的在於在view上可以實現在同乙個迴圈中,輸出多個屬性值。使用遍歷arraylist物件例項,然後分別輸出每個物件的不同屬性值。以乙個例子...

VC MFC多屬性頁的實現

vc mfc多屬性頁的實現 在插入 資源 dialog,中選擇多個從idd proppage large繼承的屬性頁,如idd prop1。這些建立的對話方塊就是屬性中的每一頁。用classwizard為你的屬性頁定義新的cpropertypage繼承類,如cprop1和idd prop1等關聯。用...

MFC中多屬性頁的實現

在插入 資源 dialog 中選擇多個從 idd proppage large 繼承的屬性頁,如 idd prop1 這些建立的對話方塊就是屬性中的每一頁。用 classwizard 為你的屬性頁定義新的 cpropertypage 繼承類,如 cprop1 和idd prop1 等關聯。用 cla...