2011-08-17 4 views
5

배열을 만들 때 파이썬 오류로 NameError: name 'array' is not defined을 얻습니다. 예를 들면 다음과 같습니다.NameError : name 'array'가 파이썬에서 정의되지 않았습니다.

a = array([1,8,3]) 

무엇을 잘못하고 있습니까? 배열을 사용하는 방법?

+3

실제로 배열이 필요합니까, 아니면 목록 만 필요합니까? –

+0

numpy에도 배열 기능이 있습니다. 이게 네가 말하는거야? 그렇다면 네임 스페이스를 접두어로 사용해야 할 수도 있습니다. –

답변

3

, 다음 목록은 가장 좋은 건 수 있습니다 , append, pop, reverse 및 sort와 같은 속성을 사용합니다. 목록은 지능형리스트를 지원하고 파이썬의 반복 가능한 인터페이스 :

for x in a: 
    print x 

y = [x ** 2 for x in a] 
+0

내가 범위 (10)에있는 것과 같이 목록에 물건을 삽입 할 수 있습니까? a [i] = b? – Templar

+1

@Templar'a = [b (범위 내)]]' –

+0

그래서 새 목록 [b, b, b, b, b, b, b, b, b] 내가 그런 식으로 사용하고 싶다면 항상 임의의 물건으로 목록을 채워야합니까? – Templar

40

모듈에서 array 메서드를 가져와야합니다.

from array import array

http://docs.python.org/library/array.html

+0

그런 다음이 오류가 발생합니다. TypeError : array() 인수 1은 목록이 아닌 char이어야합니다. – Templar

+3

@Templar - Python의'array'는 C 또는 Java와 같은 언어의 배열과 정확히 같지 않으며 제약이 있으므로 배열이 보유 할 타입. 배열과 같은 다른 언어로 목록을 사용할 수 있지만 그렇지 않으면 배열에 정수가 있음을 지정해야합니다. doc의 첫 번째 부분을 확인하십시오. http://docs.python.org/library/array.html – birryree

3

당신은 아마 배열을 원하지 않는다. 목록을 사용해보십시오 :

a = [1,8,3] 

파이썬 목록은 다른 많은 언어에서 동적 배열처럼 수행됩니다. 지원을 나열하는 방법을 볼 수있는 파이썬 인터프리터에서

a = [1,8,3] 

유형

dir([]) 

: 당신이 일의 무리를 개최 용기가 필요한 경우

+2

-1'array'를 얻는 방법에 대한 실제 문제는 다루지 않습니다. – Marcin

+0

대답은'list'입니다. 품위 유지. –

+0

가장 높은 투표 응답이 실제로 질문에 응답합니다. 계속 ... 방어하고 생각하지 않아. – Marcin

12

기본 파이썬를 들어, 당신은 단지 사용해야합니다 list (다른 사람이 이미 언급 한대로).

당신이 NumPy와를 사용하려는 경우 당신은 NumPy와 배열합니다 : 당신이 NumPy와이 무엇인지 모르는 경우

import numpy as np 

a = np.array([1,8,3]) 

, 당신은 아마 그냥 list을하고자합니다.

관련 문제