[독학 파이썬] 파이썬 자료형 종류별 내장 함수 정리(리스트)_12.12
안녕하세요. Harry 입니다.
오늘 공부한 내용인 파이썬 자료형 별 내장함수 중 리스트 내장 함수에 대해 정리한 내용을 올립니다.
예시 리스트는 모두 'a' 로 통일했습니다.
[학습 목표]
1. 리스트 내장 함수 별 정의를 구분할 수 있다.(이 함수가 뭔지 알 수 있다) - what?
2. 리스트 내장 함수의 사용 목적을 구분할 수 있다.(이 함수를 왜 쓰는지 알 수 있다) - why?
3. 리스트 내장 함수 별 사용 방법을 구분할 수 있다.(이 함수가 언제 쓰이는지 알 수 있다) - when?
4. 리스트 내장 함수를 어떻게 사용하는지 구분할 수 있다.(이 함수 어떻게 작성하고 쓰는지 알 수 있다) - how?
4. 리스트 내장 함수의 특징을 구분할 수 있다.(이 함수와 다른 함수의 차이점을 알 수 있다)
5. 리스트 내장 함수와 문자열 내장 함수의 차이점을 구분할 수 있다.
[리스트 내장 함수]
문자열 내장 함수와는 다르게, 리스트 내장 함수 자체를 print문으로 출력할 경우, None값으로 나오는 것들을 유의하여 출력해야합니다.
1) Append - 리스트에 요소 추가(what?)
사용예시(how?) : a.append(4)
의미 : a 리스트에 4를 추가
사용 목적(why?) : 특정 리스트에 특정 값을 추가한 리스트를 생성하고 싶을 때 활용
print(a.append(4))를 하면 None 이라고 뜨는데, append 메서드 자체는 리턴값으로 None을 출력합니다.
(리턴값이 없다..라는 것과 같은 의미겠죠)
a = [1,2,3]
a.append(4)
print(a)
#실행결과#
[1,2,3,4]
2) Sort - 리스트 정렬(what?)
사용예시(how?) : a.sort()
의미 : a 리스트에서 숫자순 또는 알파벳 순으로 정렬
사용목적(why?) : 특정 리스트 내 요소들을 '사용자의 기준' 으로 정렬할 때 사용
Sort 함수도 마찬가지로, 리턴값이 없습니다.
a = [7,1,3,2]
a.sort()
print(a)
#실행결과#
[1,2,3,7]
단, sorted 로 활용할 수 있습니다. sorted로 활용 시 리턴값이 있습니다.
a = [7,1,3,2]
b = sorted(a)
print(b)
3) Reverse - 리스트 뒤집기(what?)
사용예시(how?) : a.reverse()
의미 : a 리스트의 현재 배치 순서에서 그대로 뒤집어서 출력
사용목적(why?) : 아직 찾지 못함..무엇이 불편해서 이걸 쓰는 걸까..? 어떤 상황에서 reverse함수의 기능이 필요할까?
숫자순, 알파벳 순으로 정렬한 후 reverse 하는 것이 아닙니다. 현재 그상태 그대로 뒤집는 것입니다.
마찬가지로 a.reverse()그대로 사용하실 경우 리턴값이 없습니다.
a = [7,1,3,2]
a.reverse()
print(a)
#실행결과#
[2,3,1,7]
4) Index - 인덱스 반환(what?)
사용예시 : a.index()
의미 : a리스트에서 특정 값의 인덱스를 반환
사용 목적(why?) : 원하는 값의 인덱스 값을 안다는 것은, 향후 데이터 처리 등의 작업 시 시간 단축 도모
인덱스는 리스트 내 각 데이터의 주소와 같기 때문에, 원하는 위치의 값을 손쉽게 얻을 수 있음
Index 함수는 print문에 함수를 넣어도 리턴값이 있습니다.
a = [1,2,3,4]
print(a.index(3))
#실행결과#
2
5) Insert - 리스트에 요소 삽입(what?)
사용예시(how?) : a.insert(A,B)
의미 : a리스트에서 A번째 위치에 B삽입
사용 목적(why?) : 특정 리스트에서 특정 값을 '특정 위치' 에 넣고 싶을 때 사용
Insert 함수 역시 마찬가지로 리턴값이 없습니다. 그리고 예시처럼 1번 인덱스에 b를 넣을 경우, 2 대신 b가 들어간다고 생각하는 경우가 종종 있는데, 2가 b로 대체되는 것이 아닙니다.
a = [1,2,3,4]
a.insert(1,'b')
print(a)
#실행결과#
[1, 'b', 2, 3, 4]
6) Remove - 리스트 요소 제거(what?)
사용예시(how?) : a.remove(3) <- 3은 인덱스 번호가 아닌, 리스트 요소입니다.
의미 : a 리스트에서 가장 앞순서에 있는 3이라는 요소를 삭제
사용 목적(why?) : 특정 리스트에서 특정 값을 삭제하고 싶을 때 사용
Remove 함수 역시 리턴값이 없습니다.
a = [1,2,3,4]
a.remove(3)
print(a)
#실행결과#
[1,2,4]
7) Pop - 리스트에서 요소 끄집어내기(what?)
사용예시(how?) : a.pop(3) <- 3은 인덱스 번호입니다.
의미 : a 리스트에서 3번 인덱스에 해당하는 값을 끄집어낸 후 a 리스트에서는 해당 값을 삭제
사용 목적(why?) : 이것도,,뭐가 불편해서,,아님 뭘 위해서 쓰는 함수일까?
저는 cut&paste와 유사하다고 느꼈습니다.
a = ['a','b','c','d']
a.pop(2)
print(a)
#실행결과#
['a', 'b', 'd']
pop 함수는 신기하게도, print(a)와 print(a.pop(2))가 둘 다 됩니다. 물론 서로 다른 값입니다.
a = ['a','b','c','d']
print(a.pop(2))
#실행결과#
c
8) Count - 리스트 내 특정 요소의 개수 카운팅(what?)
사용예시(how?) : a.count(1)
의미 : a 리스트에 1이 몇 개가 있는지?
사용 목적(why?) : 리스트가 특정 요소의 개수가 몇개인지 알 수 있다면, 리스트 내 특정 문자의 개수에 따라 조건문 등 활용이 용이
count 함수는 기존 리스트 함수와는 사용 방법이 상이합니다. print문에 count함수를 포함하여 출력해야만 정상적으로 값이 나옵니다.
a = ['a','b','c','d']
print(a.count('b'))
#실행결과#
1
#아래와 같이 작성할 경우,a리스트가 그대로 출력됩니다#
a.count('b')
print(a)
9) Extend - 리스트 확장(what?)
사용예시(how?) : a.extend([4,5])
의미 : a 리스트와 [4,5] 를 합친 리스트 출력
사용 목적(why?) : 서로 다른 리스트를 통합시킬 때 사용
extend 함수 또한 리턴값이 없습니다.
a = ['a','b','c','d']
a.extend([4,5])
print(a)
#실행결과#
['a', 'b', 'c', 'd', 4, 5]
리스트를 따로 선언한 이후, extend() 괄호 값 안에 선언한 변수를 넣어도 괜찮습니다.
a = ['a','b','c','d']
b = [4,5]
a.extend(b)
print(a)
#실행결과#
['a', 'b', 'c', 'd', 4, 5]
10) Join - 리스트 요소 합치기 (what?)
사용예시(how?) : " ".join(a)
의미 : a 리스트에서 " " 안의 글자를 구분자로 써서 문자를 합칠 것
사용 목적(why?) : 리스트 내 구분되어있는 요소를 서로 합쳐서 출력하기 위함
아래 같은 경우, " " 안에 스페이스를 넣어, 각 인덱스의 문자들이 스페이스로 구분되어 출력됩니다.
interest = ['삼성전자', 'LG전자', 'Naver', 'SK하이닉스', '미래에셋대우']
print(" ".join(interest))
#실행결과#
삼성전자 LG전자 Naver SK하이닉스 미래에셋대우
11) Range - 특정 범위의 리스트 생성하기 (what?)
사용예시(how?) : list(range(2,100,2)
의미 : 2부터 100까지 2개 단위로 리스트 생성할 것
사용 목적(why?) : 특정 횟수만큼 반복하는 반복문을 만들기에 용이함
또한 괄호안의 숫자 개수에 따라 다양하게 리스트를 생성할 수 있습니다.
- range(2) : 0~1까지 리스트 생성
- range(2,4) : 2에서 3까지 리스트 생성
- range(2,100,2) 2부터 100까지 2개 단위로 리스트 생성
range 함수의 경우, 리스트 뿐 아니라 튜플에서 활용됩니다.
감사합니다.