가능한 중복 :
Traverse a list in reverse order in Python파이썬에서 튜플을 뒤집는 방법은 무엇입니까?
이 가능합니까? 그 자리에있을 필요는 없습니다. 단지 튜플을 뒤집을 수있는 방법을 찾고 있습니다. 그래서 그것을 뒤에서 반복 할 수 있습니다.
가능한 중복 :
Traverse a list in reverse order in 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
튜플은 크지 만 파이썬의 성능은 너무 자주 놀라운 때 그것을 측정해라!
감사합니다. 어느 것이 더 빠릅니까? iterate iterates on iterate와 같은 사운드가 필요합니까? 그렇다면 목록을 먼저 뒤집지 않고 어떻게 효과적으로 처리 할 수 있습니까? iterates 때마다 그것을 뒤집을 수 있습니까? –
@JoanVenge'reversed'는'tuple's은 끝에서 시작하여 뒤로 움직이기위한 순서라는 것을 사용합니다. 각 요소는 요구되는대로 제공하면서 그 위치를 추적합니다. – lvc
@JoanVenge 내 편집보기 (ty lvc, 그냥 귀하의 의견을 확장) – tobyodavies
reversed
내장 기능을 사용할 수 있습니다. 그냥 튜플을 반복하려면
>>> x = (1, 2, 3, 4)
>>> y = reversed(x)
>>> tuple(y)
(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
이 사용 해봤'reversed'? – Wes
이 질문에는 많은 중복이 있지만 튜플의 문자열 또는 목록에 대한 질문이있는 것 같습니다. 대답은 같습니다. 예 : http://stackoverflow.com/questions/931092/reverse-a-string-in-python http://stackoverflow.com/questions/6827413/reverse-does-not-work-on-a-python-literal http://stackoverflow.com/questions/529424/traverse-a-list-in-reverse-order-in-python – agf
감사합니다. 예, 튜플을 뒤집는 것에 대해 정확히 말한 것을 찾을 수 없었지만, 당신이 의미하는 바를 봅니다. –