2012-07-28 2 views
-2

for 루프의 모든 숫자를 목록에 입력하려면 어떻게합니까? 예를 들어범위에서 목록 표시

: 파이썬 3

for i in range(0, 5): 
    # I want to produce this list: [0,1,2,3,4] 
+4

가까이에 ... '범위'문서를 읽으면 알게 될 것 같습니다 : http://docs.python.org/library/functions.html#range –

+2

어째서 질문을 완전히 바꾸셨습니까? ? 그러지 마세요. 다른 질문이 있으면 새 질문을하십시오. 아마도 파이썬 튜토리얼이 도움이 될 것입니다 : http://docs.python.org/tutorial/ –

+1

파이썬 3을 사용하고 있습니까? 이 경우'range'는 다르게 동작합니다. – phg

답변

1
def naturalNumbers(n): 
    return range(1,n+1) 

,

def naturalNumbers(n): 
    return list(range(1,n+1)) 
+0

감사합니다. 파이썬 3 btw 사용하고 있습니다. – Reginald

+1

* a * list *가 필요하십니까? 또는 iterable 일뿐입니다. –

1

펠릭스가 맞습니다. 범위 (N, M) 기능 만 사용하십시오. 문서 (http://docs.python.org/library/functions.html#range)에서 첫 번째 문장의 의미는 다음과 같습니다.

이것은 산술 진행을 포함하는 목록을 만드는 다목적 기능입니다.

사용법을 이미 알고있는 샘플 코드 중 어느 것이 목록을 반환하고 for 루프 자체에 속하지 않는다는 것을 알지 못합니다.

1

문제는 내가 list(range(1, n+1)) 방법은 당신이 할 수있는 최선의 일은 이미하지만 입력 목록에 그 숫자가

, 나는 아직도 그 질문에 대답 할 어떻게 알 수 없다는 것입니다 그래서 당신은 나중에 다른 목록을 구성 할 수 있습니다 :

> myList = [] # create an empty list 
> myList.append(2) # append 2 to the list 
> myList 
[2] 
>>> myList += [1] # concat with a single-item list 
>>> myList 
[2, 1] 
>>> for i in range(3, 10, 2): # add multiple items 
     myList.append(i) 

>>> myList 
[2, 1, 3, 5, 7, 9] 
+0

감사합니다. 이것들은 정말로 유용했습니다. – Reginald

0

대답이 명시 적으로 아직 부여되지 않았기 때문에 :

myList = list(range(0,5)) 
+0

왜 다운 투표입니까? –