반응형
파이썬에서 뒤로 루프하는 법? [복제]
이 질문에는 이미 답변이 있습니다.
- 파이썬에서 인덱스를 사용하여 뒤로 루프? 답변 14 개
나는 다음과 같은 일에 대해 이야기하고있다 :
for(i=n; i>=1; --i) {
//do something with i
}
파이썬에서 그렇게하는 몇 가지 방법을 생각할 수 있지만 ( 및 ...을 range(1,n+1)사용하여 목록을 만들고 뒤집 음 ) 더 우아한 방법이 있는지 궁금합니다. 있습니까?while--i
편집 : 일부는 range가 목록을 반환하고 xrange는 반복자를 반환하므로 range () 대신 xrange ()를 사용하도록 제안했습니다. 그러나 파이썬 3에서 (사용하게 됨) range ()는 반복자를 반환하고 xrange는 존재하지 않습니다.
range()및 xrange()공정을 지정하는 세번째 파라미터 걸릴. 따라서 다음을 수행 할 수 있습니다.
range(10, 0, -1)
어느 것이
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
그러나 반복을 위해서는 실제로 xrange대신 사용해야 합니다. 그래서,
xrange(10, 0, -1)
파이썬 3 사용자를위한 참고 : 별도 없습니다
range및xrange파이썬 3의 기능을 바로이range파이썬 2의 디자인을 따라하는xrange.
for x in reversed(whatever):
do_something()
이것은 기본적으로 xrange객체와 목록을 포함하여 정의 된 순서를 가진 모든 것에서 작동 합니다.
입력이 문자열 인 경우이 세 가지 솔루션 모두 동일한 결과를 제공합니다.
1.
def reverse(text):
result = ""
for i in range(len(text),0,-1):
result += text[i-1]
return (result)
2.
text[::-1]
삼.
"".join(reversed(text))
def reverse(text):
reversed = ''
for i in range(len(text)-1, -1, -1):
reversed += text[i]
return reversed
print("reverse({}): {}".format("abcd", reverse("abcd")))
사용하지 않고 문자열을 바꾸려면 reversed나 [::-1]같은 것을 시도 :
def reverse(text):
# Container for reversed string
txet=""
# store the length of the string to be reversed
# account for indexes starting at 0
length = len(text)-1
# loop through the string in reverse and append each character
# deprecate the length index
while length>=0:
txet += "%s"%text[length]
length-=1
return txet
참고 URL : https://stackoverflow.com/questions/3476732/how-to-loop-backwards-in-python
반응형
'Programming' 카테고리의 다른 글
| Visual Studio 2017에서 JavaScript 빌드 오류를 비활성화하는 방법은 무엇입니까? (0) | 2020.06.04 |
|---|---|
| cmake와 libpthread (0) | 2020.06.04 |
| 부울 필드의 경우 getter / setter의 명명 규칙은 무엇입니까? (0) | 2020.06.04 |
| PHP 배열의 값을 지우는 가장 좋은 방법 (0) | 2020.06.04 |
| Bash에서 날짜 (현재 시간 전날)를 가져옵니다. (0) | 2020.06.04 |