본문 바로가기
5분 공부

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

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

 

지난번에 공부했던 리스트의 3번 째 내용.

리스트는 알아두어야 할 것이 많은 것 같다.

 


1. 값의 존재 확인하기.

 

어떤 값이 리스트 안에 있는지, 없는지 확인할 때 사용한다.

값 존재 여부에 따라 반복문을 실행할지, 다른 로직을 실행할지 등에 대한 판단을 넣을 수 있으므로

실무에서도 종종 쓰이는 함수라 할 수 있다.

 

사용법은 아래와 같다.

원소 in list  # 값이 있는지?
원소 not in list # 값이 없는지?

 

매우 간단하므로 빠르게 예시로 알아보도록 하자.

 

fruits = ['banana', 'orange', 'kiwi', 'pear', 'apple']

print('kiwi' in fruits)
print('mango' in fruits)

print('kiwi' not in fruits)
print('mango' not in fruits)

 

결과값은 True / False 로 나온다.

 

 


2. 리스트 안의 리스트 (Nested List)

 

리스트 안의 리스트가 존재할 수 있다.

2차원배열 이라고도 하고, Nested List 라고도 한다.

 

생김새는 아래와 같다.

list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

 

예시처럼 리스트 안에 리스트 가 있을 수 도 있고, 리스트 안에 리스트 안에 리스트.. 가 여러번 있을 수도 있다.

(2차원, 3차원, 4차원 ... 배열 이라고도 한다)

 

간단히 예시로 알아보도록 하자.

# [[과목별 점수]], 세 사람의 과목 별 점수
grades = [[62, 75, 77], [78, 81, 86], [85, 91, 89]]

# 첫 번째 학생의 성적
print(grades[0])

# 세 번째 학생의 성적
print(grades[2])

# 첫 번째 학생의 첫 번째 시험 성적
print(grades[0][0])

# 세 번째 학생의 두 번째 시험 성적
print(grades[2][1])

# 첫 번째 시험의 평균
print((grades[0][0] + grades[1][0] + grades[2][0]) / 3)

 

세 사람의 세 과목별 점수를 Nested List 에 담아서 계산을 하는 예시다.

변수를 여러번 선언하지 않고 하나의 리스트를 선언하여 처리할 수 있다.

 


3. sort

 

리스트를 정렬하는 함수다.

지난번에 sorted함수에 대해 알아보았는데, sorted 함수는 원본 함수는 그대로 두고 새로운 리스트를 리턴해준다.

sort함수는 원본 함수를 정렬해 준다는 차이점이 있다. 꼭 기억하도록 하자.

 

사용법은 아래와 같다.

list.sort()

 

예시를 들어보도록 하자.

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

num.sort()

print(num)

 

sort 함수는 원본 함수를 정렬하기 때문에 원본 데이터의 변형이 있을 수 있으므로 주의하도록 하자.

sorted 함수는 원본 함수를 정렬하지 않고 새로운 리스트를 반환 한다는 점도 꼭 기억하도록 하자.

 


4. reverse

 

reverse 함수를 사용하면 리스트의 원소들을 뒤집어진 순서로 배치할 수 있다.

 

사용법은 아래와 같다.

list.reverse()

 

간단히 예시를 보도록 하자.

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

num.reverse()

print(num)

 


5. index

 

index함수는 리스트에서 특정 원소의 인덱스를 알기 위해 사용한다.

 

사용법은 아래와 같다.

list.index(원소)

 

반드시 리스트 안에 원소가 포함되어 있어야 사용할 수 있다.

예시로 알아보자.

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

print(num.index(4))

print(num.index(10))

 

num 리스트에서 4를 값으로 하는 원소의 인덱스는 2 임을 알 수 있다.

num 리스트에 없는 원소의 인덱스를 구하면 아래와 같이 에러가 난다.

 


6. remove

 

리스트의 특정 원소 값을 삭제할 수 있다.

값이 중복 된다면, 인덱스가 작은 원소부터 삭제된다.

 

사용법은 아래와 같다.

list.remove(원소)

 

간단히 예시를 들어 알아보도록 하자.

num = [5, 2, 4, 1, 3, 5, 6, 7, 10, 9, 5]

num.remove(4)
print(num)

num.remove(5)
print(num)

 

아래와 같이 결과를 볼 수 있다.

 


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

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

 

오늘 공부는 여기서 끝.

 

728x90
반응형

댓글