<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ## 問題 你想排序類型相同的對象,但是他們不支持原生的比較操作。 ## 解決方案 內置的 `sorted()` 函數有一個關鍵字參數 `key` ,可以傳入一個 `callable` 對象給它,這個 `callable` 對象對每個傳入的對象返回一個值,這個值會被 `sorted` 用來排序這些對象。比如,如果你在應用程序里面有一個User實例序列,并且你希望通過他們的user_id屬性進行排序,你可以提供一個以User實例作為輸入并輸出對應user_id值的 `callable` 對象。比如: class User: def __init__(self, user_id): self.user_id = user_id def __repr__(self): return 'User({})'.format(self.user_id) def sort_notcompare(): users = [User(23), User(3), User(99)] print(users) print(sorted(users, key=lambda u: u.user_id)) 另外一種方式是使用 `operator.attrgetter()` 來代替lambda函數: >>> from operator import attrgetter >>> sorted(users, key=attrgetter('user_id')) [User(3), User(23), User(99)] >>> ## 討論 選擇使用lambda函數或者是 `attrgetter()` 可能取決于個人喜好。但是,`attrgetter()` 函數通常會運行的快點,并且還能同時允許多個字段進行比較。這個跟 `operator.itemgetter()` 函數作用于字典類型很類似(參考1.13小節)。例如,如果User實例還有一個first_name和last_name屬性,那么可以向下面這樣排序: by_name = sorted(users, key=attrgetter('last_name', 'first_name')) 同樣需要注意的是,這一小節用到的技術同樣適用于像 `min()` 和 `max()` 之類的函數。比如: >>> min(users, key=attrgetter('user_id') User(3) >>> max(users, key=attrgetter('user_id') User(99) >>>
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看