파이썬 에서 배열을 어떻게 선언 합니까?
설명서에서 배열에 대한 참조를 찾을 수 없습니다.
답변
variable = []
이제 variable
빈 목록 *을 참조하십시오 .
물론 이것은 선언이 아니라 과제입니다. 파이썬은 동적으로 타입이 지정되기 때문에 파이썬에서 “이 변수는리스트 이외의 것을 가리켜서는 안됩니다”라고 말할 방법이 없습니다.
* 기본 내장 파이썬 타입을 배열이 아닌 list 라고합니다 . 이질적인 객체 컬렉션을 보유 할 수있는 임의 길이의 정렬 된 컨테이너입니다 (유형은 중요하지 않고 자유롭게 혼합 할 수 있음). 이것은 C 유형에 더 가까운 유형을 제공하는 array
모듈 과 혼동되어서는 안됩니다 array
. 내용은 동일해야하며 (동일한 유형) 길이는 여전히 동적입니다.
답변
이것은 파이썬에서 놀랍도록 복잡한 주제입니다.
실용 답변
배열은 클래스로 표시됩니다 list
(참조 참조 및 generator 와 혼합하지 마십시오 ).
사용 예를 확인하십시오.
# empty array
arr = []
# init with values (can contain mixed types)
arr = [1, "eels"]
# get item by index (can be negative to access end of array)
arr = [1, 2, 3, 4, 5, 6]
arr[0] # 1
arr[-1] # 6
# get length
length = len(arr)
# supports append and insert
arr.append(8)
arr.insert(6, 7)
이론적 답변
기본적으로 파이썬 list
은 항목에 대한 참조를 포함하는 실제 배열의 래퍼입니다. 또한 기본 배열은 약간의 추가 공간으로 생성됩니다.
이것의 결과는 다음과 같습니다.
- 랜덤 액세스는 정말 저렴합니다 (
arr[6653]
와 동일arr[0]
) append
추가 공간이있는 동안 작업은 ‘무료’입니다insert
작업이 비싸다
이 멋진 작업 테이블 복잡성을 확인하십시오 .
또한이 그림을 참조하십시오. 여기서 배열, 참조 배열 및 링크 된 목록 간의 가장 중요한 차이점을 보여 주려고했습니다.
답변
실제로 선언하지는 않지만 파이썬에서 배열을 만드는 방법입니다.
from array import array
intarray = array('i')
자세한 내용은 배열 모듈을 참조하십시오 : http://docs.python.org/library/array.html
이제 배열을 원하지 않고 목록을 원하지만 다른 사람들이 이미 대답했습니다. 🙂
답변
처음 30 개의 셀이 이미 채워진 목록을 원한다고 생각합니다. 그래서
f = []
for i in range(30):
f.append(0)
이것을 사용할 수있는 예는 피보나치 순서입니다. 프로젝트 오일러의 문제 2 참조
답변
방법은 다음과 같습니다.
my_array = [1, 'rebecca', 'allard', 15]
답변
계산을 위해 다음 과 같이 numpy 배열을 사용 하십시오.
import numpy as np
a = np.ones((3,2)) # a 2D array with 3 rows, 2 columns, filled with ones
b = np.array([1,2,3]) # a 1D array initialised using a list [1,2,3]
c = np.linspace(2,3,100) # an array with 100 points beteen (and including) 2 and 3
print(a*1.5) # all elements of a times 1.5
print(a.T+b) # b added to the transpose of a
이 numpy 배열은 디스크에서 저장 및로드 할 수 있으며 (압축 된 경우에도) 대량의 요소를 사용한 복잡한 계산은 C와 비슷합니다.
