<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # Python `reversed()`函數 > 原文: [https://thepythonguru.com/python-builtin-functions/reversed/](https://thepythonguru.com/python-builtin-functions/reversed/) * * * 于 2020 年 1 月 7 日更新 * * * `reversed()`函數允許我們以相反的順序處理項目。 它接受一個序列并返回一個迭代器。 其語法如下: **語法**: ```py reversed(sequence) -> reverse iterator ``` | 參數 | 描述 | | --- | --- | | `sequence` | 序列列表字符串,列表,元組等。 | 這里有些例子: ```py >>> >>> reversed([44, 11, -90, 55, 3]) <list_reverseiterator object at 0x7f2aff2f91d0> >>> >>> >>> list(reversed([44, 11, -90, 55, 3])) # reversing a list [3, 55, -90, 11, 44] >>> >>> >>> list(reversed((6, 1, 3, 9))) # reversing a tuple [9, 3, 1, 6] >>> >>> list(reversed("hello")) # reversing a string ['o', 'l', 'l', 'e', 'h'] >>> ``` 試試看: ```py print( reversed([44, 11, -90, 55, 3]) ) print(list(reversed([44, 11, -90, 55, 3]))) # reversing a list print( list(reversed((6, 1, 3, 9)))) # reversing a tuple print(list(reversed("hello"))) # reversing a string ``` 為了立即產生結果,我們將`reversed()`包裝在`list()`調用中。 Python 2 和 Python 3 都需要這樣做。 傳遞給`reversed()`的參數必須是正確的序列。 嘗試傳遞不保持其順序(例如`dict`和`set`)的對象將導致`TypeError`。 ```py >>> >>> reversed({0, 4, -2, 12, 6}) Traceback (most recent call last): File "", line 1, in TypeError: argument to reversed() must be a sequence >>> >>> >>> reversed({'name': 'John', 'age': 20}) Traceback (most recent call last): File "", line 1, in TypeError: argument to reversed() must be a sequence >>> ``` ## 反轉用戶定義的對象 * * * 若要反轉用戶定義的對象,該類必須執行下列操作之一: 1. 實現`__len__()`和`__getitem__()`方法; 要么 2. 實現`__reversed__()`方法 在下面的清單中,`CardDeck`類實現`__len__()`和`__getitem__()`方法。 結果,我們可以將`reversed()`應用于`CardDeck`實例。 ```py >>> >>> from collections import namedtuple >>> >>> Card = namedtuple('Card', ['rank', 'suit']) >>> >>> class CardDeck: ... suits = ('club', 'diamond', 'heart', 'spades') ... ranks = tuple((str(i) for i in range(2, 11))) + tuple("JQKA") ... ... def __init__(self): ... self._cards = [Card(r, s) for s in self.suits for r in self.ranks ] ... ... def __len__(self): ... return len(self._cards) ... ... def __getitem__(self, index): ... return self._cards[index] ... ... # def __reversed__(self): this is how you would define __reversed__() method ... # return self._cards[::-1] ... ... >>> >>> deck = CardDeck() >>> >>> deck <__main__.CardDeck object at 0x7f2aff2feb00> >>> >>> >>> deck[0], deck[-1] # deck before reversing (Card(rank='2', suit='club'), Card(rank='A', suit='spades')) >>> >>> >>> reversed_deck = list(reversed(deck)) >>> >>> >>> reversed_deck[0], reversed_deck[-1] # deck after reversing (Card(rank='A', suit='spades'), Card(rank='2', suit='club')) >>> ``` 試一試: ```py from collections import namedtuple Card = namedtuple('Card', ['rank', 'suit']) class CardDeck: suits = ('club', 'diamond', 'heart', 'spades') ranks = tuple((str(i) for i in range(2, 11))) + tuple("JQKA") def __init__(self): self._cards = [Card(r, s) for s in self.suits for r in self.ranks ] def __len__(self): return len(self._cards) def __getitem__(self, index): return self._cards[index] # def __reversed__(self): this is how you would define __reversed__() method # return self._cards[::-1] deck = CardDeck() print(deck) print( deck[0], deck[-1] ) # deck before reversing reversed_deck = list(reversed(deck)) print(reversed_deck[0], reversed_deck[-1] ) # deck after reversing ``` * * * * * *
                  <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>

                              哎呀哎呀视频在线观看