1. ホーム
  2. python

[解決済み] Pythonでタプルを逆引きする方法は?重複

2023-06-14 08:17:39

質問

重複の可能性があります。

Pythonでリストを逆順にたどる

これは可能ですか?その場にいる必要はありません。ただ、タプルを逆引きする方法を探していて、それを逆引きで反復することができます。

どのように解決するのですか?

2つの慣用的な方法があります。

reversed(x)  # returns an iterator

または

x[::-1]  # returns a new tuple

タプルは不変なので、インプレースでタプルを反転させる方法はありません。


編集します。 lvc さんのコメントを基にすると、イテレータは reversed が返すイテレータは次のようになります。

def myreversed(seq):
    for i in range(len(x) - 1, -1, -1):
        yield seq[i]

つまり、タプルを実際に反転させる必要がないように、シーケンスが既知の長さを持っていることに依存しています。

どちらがより効率的かというと、私はそれは seq[::-1] をすべて使っていてタプルが小さい場合は reversed を使用します。しかし、Pythonのパフォーマンスは驚くほど高いので、測定してみましょう。