파이썬 튜토리얼-데이터 타입 배열
이 섹션에서는 파이썬에서 배열 요소를 만들고 액세스하는 방법을 배웁니다.
배열은 동일한 데이터 유형의 요소 모음입니다. 배열과 목록의 주요 차이점은 목록에 다른 데이터 유형의 요소가있을 수 있다는 것입니다.
파이썬 프로그래밍에서 배열을 만들려면 배열이 기본 데이터 형식이 아니기 때문에 array
모듈을 가져와야합니다.
from array import *
파이썬 배열 선언
배열을 선언하려면 아래 구문을 따라야합니다.
arrayName = array(typecode, [initializers])
여기서 arrayName
은 배열의 이름이고,typecode
는 배열의 데이터 유형을 결정하고 initializers
는 배열의 값입니다.
이 섹션의 뒷부분에서 typecode
매개 변수에 대해 더 배우게됩니다.
아래 예를 고려하십시오.
a = array("i", [1, 2, 3, 4])
배열의 이름은 a
이고 typecode
는 i
이며 배열의 값은 정수 데이터 유형이되도록 지정합니다. 이 배열에 정수 이외의 값을 저장하려고하면 오류가 발생합니다.
>>> a=array('i', [1,2,3.4,4])
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module>
a=array('i', [1,2,3.4,4])
TypeError: integer argument expected, got float
정수를 포함하는 배열의 예를 확인하십시오.
>>> from array import *
>>> a = array('i', [1,2,3,4])
>>> for i in a:
print(i)
1
2
3
4
typecode
매개 변수
모수 | 의미 |
---|---|
b |
1 바이트의 부호있는 정수 |
B |
1 바이트의 부호없는 정수 |
u |
2 바이트의 유니 코드 문자 |
h |
2 바이트의 부호있는 정수 |
H |
부호없는 2 바이트 정수 |
i |
2 바이트의 부호있는 정수 |
I |
부호없는 2 바이트 정수 |
l |
4 바이트의 부호있는 정수 |
L |
부호없는 4 바이트 정수 |
f |
4 바이트의 부동 소수점 수 |
d |
8 바이트의 부동 소수점 수 |
파이썬 배열 인덱스
인덱스 연산자[]
를 사용하여 배열의 요소를 가져올 수 있습니다.
인덱스 연산자를 사용하여 배열의 요소 검색
>>> a = array('i', [1,2,3,4])
>>> print("First element of array =", a[0])
First element of array = 1
>>> print("Second element of array =", a[1])
Second element of array = 2
index(x)
메소드를 사용하여 주어진 값의 인덱스를 얻습니다
index(x)
메소드는 처음 나타나는 x
의 가장 작은 인덱스를 반환합니다.
>>> a = array('i', [1,2,3,4])
>>> print("1 is found at location:", a.index(1))
1 is found at location: 0
>>> print("4 is found at location:", a.index(4))
4 is found at location: 3
배열 음수 인덱스
문자열, 리스트, 튜플, range
객체와 같은 다른 파이썬 순차 데이터 유형과 마찬가지로 음수 인덱스를 사용하여 배열의 요소에 액세스할 수도 있습니다.
>>> a = array('i', [1,2,3,4])
>>> print("last element of array:",a[-1])
last element of array: 4
파이썬 배열을 통과
먼저 배열의 길이를 찾으십시오.
len()
메소드 배열
len()
메소드는 배열의 요소 수를 반환합니다.
>>> a = array('i', [1,2,3,4])
>>> print("length of a:", len(a))
length of a: 4
배열을 반복
for
루프를 사용하여 배열의 요소를 반복 할 수 있습니다.
>>> a = array('i', [1,2,3,4])
>>> for i in range(len(a)):
print(a[i])
1
2
3
4
또는
>>> a = array('i', [1,2,3,4])
>>> for i in a:
print(i)
1
2
3
4
파이썬 배열 업데이트
append()
배열 메소드 append()
를 사용하여 배열 끝에 항목을 추가 할 수 있습니다.
>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> a.append(10)
>>> print(a)
array('i', [1, 2, 3, 4, 5, 7, 8, 9, 10])
삽입 (i, x)
insert(i, x)
메소드를 사용하여 주어진 인덱스 i
에 x
요소를 삽입 할 수 있습니다.
>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> a.insert(3,44)
>>> print(a)
array('i', [1, 2, 3, 44, 4, 5, 7, 8, 9])
확장 (x)
append(x)
는 x
항목을 배열에 하나의 항목으로 추가합니다. extend(x)
메소드는 주어진 객체 x
의 모든 요소를 추가하여 배열을 확장하는 올바른 메소드입니다.
>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> a.extend([10,11,12,13,14,15])
>>> print(a)
array('i', [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15])
TypeError
가 발생합니다.x
가 파이썬 배열이 아닌 경우, 반복 가능해야하며 요소는 확장 할 배열과 동일한 데이터 유형을 가져야합니다.fromlist()
fromlist()
는 목록의 항목을 배열에 추가합니다.
>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> l = [10,11]
>>> a.fromlist(l)
>>> print(a)
array('i', [1, 2, 3, 4, 5, 7, 8, 9, 10, 11])
파이썬 배열을 수정하는 다른 방법
역()
reverse()
는 배열을 뒤집습니다.
>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> a.reverse()
>>> print(a)
array('i', [9, 8, 7, 5, 4, 3, 2, 1])
+
연산자
+
연산자를 사용하여 두 개의 배열을 연결할 수 있습니다.
>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> b = array('i', [10,11])
>>> print(a + b)
array('i', [1, 2, 3, 4, 5, 7, 8, 9, 10, 11])
*
연산자
*
연산자는 배열의 요소를 특정 횟수만큼 반복합니다.
>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> a = a * 2
>>> print(a)
array('i', [1, 2, 3, 4, 5, 7, 8, 9, 1, 2, 3, 4, 5, 7, 8, 9])
여기서 요소는 두 번 반복됩니다.
파이썬 배열에서 요소 삭제
del
문은 배열에서 하나 이상의 항목을 삭제합니다. del
을 사용하여 전체 배열을 삭제할 수도 있습니다.
>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> del a[3]
>>> print(a)
array('i', [1, 2, 3, 5, 7, 8, 9])
>>> del a #entire array is deleted
제거 (x)
remove()
는 배열에서 x
의 첫 번째 발생을 제거합니다.
>>> a = array('i', [1,2,3,4,5,7,8,9,3])
>>> a.remove(3)
>>> print(a)
array('i', [1, 2, 4, 5, 7, 8, 9, 3])
pop()
pop()
은 배열에서 마지막 요소를 제거하고 반환합니다.
>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> a.pop()
9
>>> print(a)
array('i', [1, 2, 3, 4, 5, 7, 8])
배열 방법
다음 표는 배열 방법을 설명합니다.
행동 양식 | 기술 |
---|---|
append() |
배열의 끝에 항목을 추가 |
extend() |
배열에 둘 이상의 항목을 추가하십시오. 배열의 요소를 다른 배열에 추가하여 작동합니다 (요소를 추가하려는 경우). |
삽입() |
원하는 위치에 요소를 추가하십시오. |
제거() |
배열에서 특정 항목을 제거하십시오. |
pop() |
주어진 위치에서 항목을 제거하고 해당 항목을 반환합니다. |
clear() |
배열에서 모든 요소를 제거하십시오. |
인덱스() |
배열에서 일치하는 첫 번째 요소의 인덱스를 반환합니다. |
count() |
전달 된 총 항목 수를 반환 |
정렬() |
배열의 요소를 오름차순으로 정렬합니다. |
역() |
배열 요소의 순서를 반대로 바꿉니다. |
copy() |
이미 존재하는 배열의 복사본을 반환합니다. |
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook