Nice programing

파이썬에서 튜플을 뒤집는 방법?

nicepro 2020. 12. 28. 22:31
반응형

파이썬에서 튜플을 뒤집는 방법?


중복 가능성 :
Python에서 역순으로 목록 탐색

이것이 가능한가? 제자리에있을 필요는 없습니다. 단지 튜플을 뒤집는 방법을 찾아서 거꾸로 반복 할 수 있습니다.


이를 수행하는 두 가지 관용적 방법이 있습니다.

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튜플이 클 때 것이라고 생각 하지만 파이썬의 성능은 종종 놀랍기 때문에 측정하십시오!


reversed내장 기능을 사용할 수 있습니다 .

>>> x = (1, 2, 3, 4)
>>> x = tuple(reversed(x))
>>> x
(4, 3, 2, 1)

튜플을 반복하고 싶다면 reversed튜플로 다시 변환하지 않고 직접 반환 된 반복자를 사용할 수 있습니다 .

>>> for k in reversed(x):
...     print(k)
... 
4 3 2 1

목록을 뒤집는 방식과 유사합니다. 즉 s [::-1]

In [20]: s = (1, 2, 3)

In [21]: s[::-1]
Out[21]: (3, 2, 1)

In [24]: for i in s[::-1]:
   ....:     print i
   ....:
3
2
1

참조 URL : https://stackoverflow.com/questions/10201977/how-to-reverse-tuples-in-python

반응형