파이썬에서 어떤 크기의 빈 배열을 어떻게 얻습니까?
기본적으로 C에서 이와 동등한 파이썬을 원합니다.
int a[x];
하지만 파이썬에서는 다음과 같은 배열을 선언합니다.
a = []
문제는 다음과 같은 값으로 임의의 슬롯을 할당하고 싶습니다.
a[4] = 1
그러나 배열이 비어 있기 때문에 파이썬으로는 할 수 없습니다.
"배열"이 실제로 Python 목록을 의미하는 경우 다음을 사용할 수 있습니다.
a = [0] * 10
또는
a = [None] * 10
파이썬에서 원하는 것을 정확히 할 수는 없습니다 (내가 올바르게 읽었다면). 목록의 각 요소에 대한 값을 입력해야합니다 (또는 배열이라고 부르는대로).
그러나 이것을 시도하십시오.
a = [0 for x in range(N)] # N = size of list you want
a[i] = 5 # as long as i < N, you're okay
다른 유형 목록의 None
경우 0 이외의 것을 사용하십시오. 종종 좋은 선택입니다.
numpy를 사용할 수 있습니다.
numpy를 np로 가져 오기
빈 배열의 예 :
np.empty([2, 2])
array([[ -9.74499359e+001, 6.69583040e-309],
[ 2.13182611e-314, 3.06959433e-309]])
또한 목록의 확장 방법으로 확장 할 수 있습니다.
a= []
a.extend([None]*10)
a.extend([None]*20)
목록을 선언하고 각 요소를 추가하기 만하면됩니다. 예 :
a = []
a.append('first item')
a.append('second item')
당신 (또는이 질문의 다른 검색 자)이 실제로 정수로 채우기 위해 연속 배열을 만드는 데 관심이 있다면 bytearray 및 memoryivew를 고려 하십시오 .
# cast() is available starting Python 3.3
size = 10**6
ints = memoryview(bytearray(size)).cast('i')
ints.contiguous, ints.itemsize, ints.shape
# (True, 4, (250000,))
ints[0]
# 0
ints[0] = 16
ints[0]
# 16
실제로 C 스타일 배열을 원한다면
import array
a = array.array('i', x * [0])
a[3] = 5
try:
[5] = 'a'
except TypeError:
print('integers only allowed')
파이썬에는 초기화되지 않은 변수의 개념이 없습니다 . 변수는 값에 바인딩 된 이름이므로 해당 값에는 무언가가 있어야합니다. 위의 예에서 배열은 0으로 초기화됩니다.
그러나 이것은 실제로 저수준 항목에 필요하지 않는 한 파이썬에서 흔하지 않습니다. 대부분의 경우 다른 답변에서 알 수 있듯이 빈 목록 또는 빈 numpy 배열을 사용하는 것이 좋습니다.
참고 URL : https://stackoverflow.com/questions/5205575/how-do-i-get-an-empty-array-of-any-size-in-python
'programing' 카테고리의 다른 글
Java에서 BigDecimal을 Double로 변환하는 방법은 무엇입니까? (0) | 2020.08.26 |
---|---|
HDFS 대신 sc.textFile에서 로컬 파일을로드하는 방법 (0) | 2020.08.26 |
jsoup을 사용하여 html을 일반 텍스트로 변환 할 때 줄 바꿈을 어떻게 유지합니까? (0) | 2020.08.26 |
텍스트 상자에 대한 입력 제한 : 숫자와 소수점 만 허용 (0) | 2020.08.26 |
두 열에서 고유 한 스키마 빌더 laravel 마이그레이션 (0) | 2020.08.26 |