본문 바로가기
5분 공부

[5분 공부] python 리스트 (list) - 2

by 멍선생 2022. 11. 5.
728x90

 

오늘은 지난번에 공부한 리스트를 추가해서 더 알아보도록 하자.

 


1. 인덱싱(indexing)

 

지난번이 했던 인덱스는 0부터 시작하여 양의 숫자로 이루어져 있음을 알았다.

하지만, 인덱스는 음수로 쓸 수 도 있다.

 

#순서
["1번째", "2번째", "3번째", "4번째"]   # 리스트 자료
[      0,       1,       2,       3]   # 자료에 해당하는 인덱스
[     -4,      -3,      -2,      -1]   # 자료에 해당하는 인덱스

 

인덱스의 범위는 리스트의 가장 뒤 -1 부터 시작하면 된다.

대게 0부터 시작하는 인덱스로 자주 사용하긴 하는 듯 하다.

 


2. 슬라이싱 (Slicing)

 

슬라이싱은 리스트에서 원하는 범위 만큼 추출 할 때 사용한다.

범위는 시작인덱스 ≤ 데이터 < 종료인덱스 임을 꼭 명심하도록 하자.

사용법은 아래와 같다.

list[시작인덱스:종료인덱스]  # 시작인덱스 부터 종료인덱스 전 까지의 데이터를 추출

 

예시를 보도록 하자.

num = [1, 2, 3, 4, 5]

print(num[1:3])

 

인덱스가 1부터 3 까지를 슬라이싱 해보았다.

예상한 대로 인덱스가 1부터 3인 [2, 3] 이 프린트 됨을 알 수 있다.

 

 


3. 원소 추가하기

 

리스트에 원소를 추가하려면 insertappend를 사용하면 된다.

사용법은 아래와 같다.

list.append(데이터) # 리스트 가장 마지막에 데이터 추가

list.insert(인덱스, 데이터) # 인덱스 위치에 데이터 추가

 

예시를 한번 보도록 하자.

num = [1, 2, 3, 4, 5]

# append
num.append(10)

print(num)

# insert
num.insert(1, 20)

print(num)

 

두 가지 예제의 결과를 볼 수 있다.

append를 통하여 리스트 가장 마지막에 10을 추가하였고,

insert를 통하여 1번 인덱스 위치에 20을 추가하였다.

  


 4. 원소 빼기

 

append와 insert로 원소를 추가할 수 있다면, del 함수를 사용하여 리스트의 원소를 삭제할 수 있다.

사용법은 아래와 같다.

 

del list[인덱스] # 인덱스 위치의 데이터 삭제

del list[시작인덱스:종료인덱스] # 시작인덱스 부터 종료인덱스 전 까지의 데이터 삭제

 

예시를 통해 알아보도록 하자.

# 해당 인덱스만 삭제
num = [1, 2, 3, 4, 5]

del num[2]

print(num)

# 범위로 삭제 1
temp = [1, 2, 3, 4, 5]

del temp[1:3]

print(temp)

# 범위로 삭제 2
temp2 = [1, 2, 3, 4, 5]

del temp2[2:]

print(temp2)

 

del num[2]를 통해 2번 인덱스에 해당하는 값이 삭제됨을 볼 수 있다.

del temp[1:3]을 통해 인덱스가 1~3 사이의 1, 2 값이 삭제 됨을 볼 수 있다.

del temp2[2:]을 통해 2번 인덱스 이후의 데이터를 모두 삭제 했음을 볼 수 있다.

 

참고로 [인덱스:] 의 범위는 해당 인덱스 부터 리스트의 끝까지 임을 기억하도록 하자.

 


5. sorted 함수

 

sorted 함수는 리스트의 값들을 오름차순으로 정렬시켜준다.

주로 알고리즘의 문제에서 기본적으로 볼 수 있는 오름차순 정렬 결과인데,

직접 알고리즘을 작성하지 않고, 기본으로 제공되는 sorted 함수를 사용하면 쉽게 오름차순 정렬을 할 수 있다.

사용법은 아래와 같다.

list = sorted(list) # list를 오름차순 정렬한다.

 

쉽게 예시로 알아보도록 하자.

# 숫자형 정렬
num = [5, 2, 4, 1, 3]

num = sorted(num)

print(num)

# 문자형 정렬
fruit = ['banana', 'orange', 'kiwi', 'pear', 'apple']

fruit = sorted(fruit)

print(fruit)

 

정렬은 숫자형, 문자형가리지 않고 오름차순으로 정렬해 준다.

숫자는 1부터 큰수로, 문자는 a부터 z순이다.

 


6. 리스트 연결하기

 

서로다른 두 리스트는 숫자의 덧셈 처럼 + 을 통하여 연결할 수 있다.

사용법은 아래와 같다.

list = list1 + list2

 

예시로 알아보도록 하자.

num1 = [1, 3, 5, 7, 9]

num2 = [100, 200, 300, 400, 500]

num = num1 + num2

print(num)

 

숫자로 이루어진 두 리스트가 합쳐졌음을 확인할 수 있다.

 


여러가지 리스트를 다루기 위한 함수들을 알아보았다.

실무를 하며 심심찮게 사용하는 것들이므로 기본적으로 알아두면 좋을 것이라 생각한다.

 

오늘 공부는 여기서 끝.

 

 

728x90
반응형

댓글