기초 알고리즘

파이썬) 선형 배열(linear array)

zzugest1 2023. 1. 16. 20:38

선형 배열: 데이터들이 선처러 일렬로 늘어선 형태, 대표적으로 파이썬의 list라는 데이터형이 있다. 

 

ex)

L=[12,32,65,89,98]

 

파이썬의 리스트는 다른 프로그래밍 언어의 배열보다 능통성이 있다. 그 예로 파이썬 리스트는 숫자,문자가 올 수 있다.

M=['apple',5,4]
M
['apple', 5, 4]

 

 

파이썬에서 리스트가 생성되면 원소의 순서를 나타내는 숫자도 생성되는데 이를 index라 한다. 파이썬에선 왼쪽부터 첫번째 원소 index는 0으로 시작한다. 

L=[12,32,65,89,98]
L[0],L[1],L[2],L[3],L[4]
(12, 32, 65, 89, 98)

오른쪽부터 index를 출력하려면 -1부터 시작하면 된다.

L[-1],L[-2],L[-3],L[-4],L[-5]
(98, 89, 65, 32, 12)

 

 

  • 원소 덧붙이기 append 

append는 리스트의 맨 마지막 index 뒤에 원소를 추가하는 것이다.

L.append(100)
L
[12, 32, 65, 89, 98, 100]

리스트 L의 마지막 원소 100이 추가가 되어 있는 것을 볼 수 있다.

 

  • 원소 하나 꺼내기 pop

pop은 리스트의 맨 마지막 index에 해당하는 원소를 빼내는 것이다.

L.pop()
100

append로 추가한 원소 100을 pop을 이용해 빼낸 결과이다. 

 

L
[12, 32, 65, 89, 98]

그리고 리스트 L은 100이 빠진 상태로 저장되어 있는 것을 볼 수 있다.

 

* append와 pop은 리스트의 길이에 관계없이 빠르게 실행 결과가 출력된다.

 

 

  • 원소 삽입하기 insert

insert는 특정 index에 원소를 삽입하는 것이다.

 

L.insert(2,100)

 위 코드는 리스트 L의 index가 2인 자리(세번째 위치)에 원소 100을 삽입한다는 뜻이다.

L
[12, 32, 100, 65, 89, 98]

 

  • 원소 삭제하기 del

del은 특정 원소를 삭제하는 것이다.

del(L[2])

위 코드는 리스트 L의 index가 2인 자리(세번째 위치)의 원소를 삭제하라는 뜻이다.

L
[12, 32, 65, 89, 98]

index가 2인 원소 100이 삭제되어 저장돼 있는 것을 볼 수 있다.

 

 

* insert와 del은 리스트의 길이에 비례해 실행 결과가 출력된다. 즉, 리스트의 길이가 길수록 실행 결과는 느리게 출력된다.