티스토리 뷰
Python에서 for문을 사용하실때 range를 많이 사용하실텐데요.
Python3에서는 range가 하나밖에 없지만 Python2에서는 range,xrange 가 있습니다.
Python2 range는 list형식으로, for i in range(10) 이면
for i in [0,1,2,3,4,5,6,7,8,9]
대충 이런식의 형태로 for문이 실행된다고 보시면 되는데요
리스트로 할당이 되기때문에 만약 매우 큰 범위를 선언하시게 된다면 메모리를 많이 사용하게됩니다.
xrange는 리스트형식으로 되는 것이 아닌 검색이 요청되는 시점에 값을 계산하게 됩니다.(generator)
그렇기때문에 Python2에서는 range보다는 xrange를 사용하기를 권장합니다.
매우 큰 범위를 선언할땐 더더욱이요 ㅎㅎ
Python3에서는 range가 없어지고 xrange가 range라는 이름으로 바뀌었습니다.
# range, myrange
def myrange(start=0, end=0, step=1):
mylist = []
while start < end:
mylist.append(start)
start += step
return mylist
def myxrange(start=0, end=0, step=1): # cotutine
while start < end:
yield start # generator
start += step
if __name__ == "__main__":
for i in myrange(end=10):
print(i)
for i in myxrange(end=10):
print(i)
실제 range,xrange의 구조를 만든건데,myrange(range)는 start부터 end까지의 수를 리스트에 할당한 후, 값을 가져오는형식이고
myxrange(xrange)는 generator를 사용해 start부터 end까지의 값을 그때 그때 생성해서 값을 가져오는 형식입니다.
'Programing-Language > Python' 카테고리의 다른 글
python console 지우기 (2) | 2018.02.12 |
---|---|
Python None (0) | 2018.01.07 |
python virtualenv 윈도우 설치/사용 (0) | 2017.11.19 |
Python 삼항 연산자 (0) | 2017.11.17 |
얕은 복사와 깊은 복사(deep copy) (0) | 2017.09.23 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 후위 표기법 계싼
- sass 사용법
- 후위 표기식
- 중위 표기법 후위 표기법
- 후위 표기법
- selenium switch_to_window
- java String to int
- 전자계산기 구현
- jsp tomcat 연동
- selenium switch_to_window python
- 후위 표기 계산
- virtualenv
- 2진수 음수
- 음수 10진수 음수 2진수
- java int to String
- sass
- java parseInt
- 2의 보수법
- 중위 표현식 후위 표현식
- 계산기 구현
- jsp tomcat
- jsp 서버 연동
- selenium 새 탭 크롤링
- selenium 새 창 크롤링
- 후위 표현식
- java toString
- jsp oracle 연동
- python virtualenv
- 후위 표기 수식 계싼
- sass 설치
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함