배열의 연산은 배열의 요소를 접근, 삽입, 삭제, 수정 등이 있습니다.
배열의 접근
배열의 접근이란 배열의 인덱스를 사용하여 배열의 요소에 접근하는 방식입니다.
Python
단일 요소 접근
대괄호 안에 해당 요소의 인덱스를 넣어 접근하고 정수는 요소앞 부터 시작되며 인덱스는 0 부터 시작하고 음수는 배열의 요소 끝에서 접근합니다 예를 들어 -1은 마지막 요소를 나타냅니다.
my_list = ['a', 'b', 'c', 'd']
print(my_list[0]) # 'a' 출력
print(my_list[2]) # 'c' 출력
print(my_list[-1]) # 'd' 출력
슬라이싱을 통한 부분 접근
슬라이싱은 [시작 인덱스:끝 인덱스] 형식으로 시작 인덱스는 포함되고, 끝 인덱스는 제외 됩니다.
my_list = ['a', 'b', 'c', 'd']
print(my_list[1:3]) # ['b', 'c'] 출력
시작 인덱스를 생략하면 리스트의 첨부터, 끝 인덱스를 생략하면 리스트의 끝까지 선택됩니다.
my_list = ['a', 'b', 'c', 'd']
print(my_list[:2]) # ['a', 'b'] 출력
print(my_list[2:]) # ['c', 'd'] 출력
배열의 삽입
배열의삽입은 끝에 새로운 요소를 추가하는 것이 일반적이며, 특정 위치에 요소를 삽입하려면 해당 위치 이후의 모든 요소를 한칸씩 뒤로 이동시키는 원리입니다.
Python
리스트에 요소를 삽입하는 방법은 여러 가지가 있습니다.
append()
리스트의 끝에 새로운 요소를 추가합니다.
my_list = [1, 2, 3]
my_list.append(4) # 리스트의 끝에 4 추가
print(my_list) # [1, 2, 3, 4]
insert()
리스트의 특정 위치에 요소를 삽입합니다. 첫 번째 인자는 삽입할 인덱스, 두 번째 인자로 삽입할 요소를 받습니다.
my_list = [1, 2, 3]
my_list.insert(1, 1.5) # 인덱스 1의 위치에 'a' 삽입
print(my_list) # [1, 1.5, 2, 3]
extend()
다른 리스트의 모든 요소를 현재 리스트의 끝에 추가합니다. append()와 유사하지만, 여러 요소를 한 번 에 추가할 수 있는 차이점 있습니다.
my_list = [1, 2, 3]
my_list2 = [4, 5, 6]
my_list.extend(my_list2)
print(my_list) # [1, 2, 3, 4, 5, 6]
배열의 삭제
배열에서 특정 요소를 제거를 합니다. 요소를 제거한 후, 그위치 이후의 모든 모소를 한 칸씩 앞으로 이동 합니다.
Python
리스트의 요소를 삭제하는 방법은 여러 가지가 있습니다.
remove()
리스트에서 특정한 값을 인자로 받아 삭제합니다. 리스트 내에 해당 값이 여러 개 있을 경우 첫 번 째로 발견한 요소만 삭제합니다.
my_list = [1, 2, 3, 4, 5]
my_list.remove(3) # 값이 3인 요소 삭제
print(my_list) # 출력: [1, 2, 4, 5]
pop()
리스트의 특정 인덱스에 위치한 요소를 삭제하고, 그 값을 반환합니다. 인덱스를 지정하지 않으면 리스트의 마지막 요소를 삭제합니다.
my_list = [1, 2, 3, 4, 5]
removed_element = my_list.pop(2) # 인덱스 2의 요소(값 3) 삭제
print(my_list) # 출력: [1, 2, 4, 5]
print(removed_element) # 출력: 3
my_list.pop()
print(my_list) #출력: [1, 2, 4]
del
del 키워드를 사용하여 리스트의 특정 인덱스에 위치한 요소를 삭제할 수 있다. 또한 슬라이스를 사용하여 리스트의 특정 부분을 삭제할 수도 있습니다.
my_list = [1, 2, 3, 4, 5]
del my_list[1] # 인덱스 1의 요소(값 2) 삭제
print(my_list) # 출력: [1, 3, 4, 5]
# 리스트의 일부분 삭제
del my_list[1:3] # 인덱스 1부터 2까지의 요소 삭제
print(my_list) # 출력: [1, 5]
clear()
리스트의 모든 요소를 삭제하여 빈 리스트로 만듭니다.
my_list = [1, 2, 3, 4, 5]
my_list.clear() # 리스트의 모든 요소 삭제
print(my_list) # 출력: []
배열의 수정
배열의 요소의 인덱스에 위치한 요소에 새로운 값을 할당함으로써 배열의 수정값을 수정합니다.
Python
인덱스와 슬라이싱으로 배열의 요소의 값을 수정합니다.
인덱스의 요소 수정하기
인덱스에 접근하여 해당 위치의 값을 변경합니다.
my_list = [1, 2, 3, 4, 5]
my_list[2] = 30 # 인덱스 2의 요소(3)을 30으로 변경
print(my_list) # 출력: [1, 2, 30, 4, 5]
슬라이싱을 이용한 부분 수정
리스트의 슬라이싱 기능을 이용하여 특정 범위 요소들을 한 번에 수정할 수 있습니다.
my_list = [1, 2, 3, 4, 5]
my_list[1:4] = [20, 30, 40] # 인덱스 1부터 3까지의 요소를 새로운 리스트로 변경
print(my_list) # 출력: [1, 20, 30, 40, 5]