English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Python 기본 튜토리얼

Python 흐름 제어

Python 함수

Python 데이터 타입

Python 파일 작업

Python 객체와 클래스

Python 날짜와 시간

Python 고급 지식

Python 참조 매뉴얼

Python 배열

이 글에서, Python 배열, 배열과 리스트의 차이점, 그리고 어떻게 그리고 언제 사용할지에 대해 배울 것입니다.

프로그래밍에서, 배열은 같은 타입의 요소들이 모여 있는 집합입니다.

배열이 Java, C / C ++JavaScript 등 대부분의 프로그래밍 언어에서는 흔히 사용됩니다. 하지만 Python에서는 그리 흔하지 않습니다. Python 배열에 대해 이야기할 때, 그들은 Python 리스트를 이야기하고 있습니다. 만약 리스트가 무엇인지 모르신다면, 절대로 확인해야 할 것입니다.파이썬 리스트문서.

Python 리스트와 배열 모듈이 배열로

리스트를 배열로 볼 수 있습니다. 하지만, 리스트에 저장된 요소의 타입을 제한할 수는 없습니다. 예를 들어:

a = [1, 3.5, "Hello"]

array 모듈로 배열을 생성하면 배열의 모든 요소가 같은 숫자 타입이어야 합니다.

import array as arr
a = arr.array('d', [1, 3.5, "Hello"])   // Error

어떻게 배열을 생성하나요?

위의 예제에서 짐작할 수 있듯이, 배열을 생성하기 위해 array 모듈을 가져오는 것이 필요합니다. 예를 들어:

import array as arr
a = arr.array('d', [1.1, 3.5, 4.5])
print(a)

여기서 우리는 float형 배열을 생성했습니다. 문자 'd'는 타입 코드입니다. 이는 배열 생성 과정에서 배열의 타입을 결정합니다.

보통 사용되는 타입 코드:}

코드C 타입Python 타입최소 바이트
'b'signed charint1
'B'unsigned charint1
'u'Py_UNICODEUnicode2
'h'signed shortint2
'H'unsigned shortint2
'i'signed intint2
'I'unsigned intint2
'l'signed longint4
'L'unsigned longint4
'f'floatfloat4
'd'doublefloat8

에서 사용되지 않을 것입니다. 전체 문서에서 'i' 정수와 'd' 실수 타입 코드를 사용할 것입니다.

주의: 'u'는 버전3.3부터 시작하여, Unicode 문자 타입 코드는 사용하지 않습니다. 가능한 한 사용을 피하십시오.

배열 요소에 어떻게 접근할 수 있습니까?

배열의 요소에 접근하기 위해 인덱스를 사용합니다:

import array as arr
a = arr.array('i', [2, 4, 6, 8])
print("첫 번째 요소:", a[0])
print("두 번째 요소:", a[1])
print("마지막 요소:", a[-1])

기억해야 할 것은 인덱스는 0에서 시작하며 (Unicode 문자의 타입 코드는 사용하지 않는 것이 좋습니다. 가능한 한 사용을 피하십시오.1)부터 시작하여 목록과 유사합니다.

배열을 어떻게 슬라이싱하는가요?

배열의 일련의 항목에 접근할 수 있는 슬라이싱 연산자를 사용할 수 있습니다:。

import array as arr
numbers_list = [2, 5, 62, 5, 42, 52, 48, 5]
numbers_array = arr.array('i', numbers_list)
print(numbers_array[2:5]) #3-第5개의 요소
print(numbers_array[:-5]) # 시작부터4개의 요소
print(numbers_array[5:]) #6개의 요소까지
print(numbers_array[:]) # 시작부터 끝까지

프로그램을 실행할 때, 출력은 다음과 같습니다:

array('i', [62, 5, 42])
array('i', [2, 5, 62])
array('i', [52, 48, 5])
array('i', [2, 5, 62, 5, 42, 52, 48, 5])

요소를 변경하거나 추가하는 방법은 무엇인가요?

배열은 변경 가능합니다. 요소는 목록과 유사하게 변경할 수 있습니다.

import array as arr
numbers = arr.array('i', [1, 2, 3, 5, 7, 10])
# 첫 번째 요소를 변경
numbers[0] = 0    
print(numbers) # 출력: array('i', [0, 2, 3, 5, 7, 10])
# 제3부터5개의 요소
numbers[2:5]) = arr.array('i', [4, 6, 8])   
print(numbers) # 출력: array('i', [0, 2, 4, 6, 8, 10])

append() 메서드를 사용하여 목록에 항목을 추가하거나 extend() 메서드를 사용하여 여러 항목을 목록에 추가할 수 있습니다.

import array as arr
numbers = arr.array('i', [1, 2, 3])
numbers.append(4))
print(numbers)     # 출력: array('i', [1, 2, 3, 4])
# extend()는 iterable를 배열의 마지막에 추가합니다
numbers.extend([5, 6, 7]) 
print(numbers)     # 출력: array('i', [1, 2, 3, 4, 5, 6, 7])

우리는+연산자는 두 개의 배열을 연결합니다.

import array as arr
odd = arr.array('i', [1, 3, 5])
even = arr.array('i', [2, 4, 6])
numbers = arr.array('i')   # 빈 정수 배열 생성
numbers = odd + even
print(numbers)

삭제 방법/요소를 제거하려면?

우리는파이썬의 del 문배열에서 하나나 여러 항목을 제거할 수 있습니다.

import array as arr
number = arr.array('i', [1, 2, 3, 3, 4])
del number[2] # 세 번째 요소 제거
print(number) # 출력: array('i', [1, 2, 3, 4])
del number # 전체 배열 제거
print(number) # 에러: 배열이 정의되지 않았습니다

우리는 remove() 메서드를 사용하여 지정된 항목을 제거할 수 있으며, 또한 pop() 메서드를 사용하여 지정된 인덱스 위치의 항목을 제거할 수 있습니다.

import array as arr
numbers = arr.array('i', [10, 11, 12, 12, 13])
numbers.remove(12))
print(numbers)   # 출력: array('i', [10, 11, 12, 13])
print(numbers.pop(2))   # 출력: 12
print(numbers)   # 출력: array('i', [10, 11, 13])

어떤 때 배열을 사용해야 합니까?

리스트는 배열보다 유연합니다. 다양한 데이터 타입의 요소를 저장할 수 있으며, 문자열도 포함됩니다. 그리고, 리스트는 배열보다 빠릅니다. 또한, 배열과 행렬에 수학적 계산을 수행해야 한다면, 가장 좋은 방법은NumPy라이브러리와 같은 메서드.

실제로 배열이 필요하다면(예: C 코드 인터페이스에서 배열 모듈이 필요할 수 있습니다) 그렇지 않으면 사용하지 마세요.