일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- SQL
- SQLD
- 기초프로젝트
- If
- 서브쿼리
- 클러스터링
- 팀프로젝트
- 데이터분석
- 시각화
- pandas
- 머신러닝
- 최종 프로젝트
- 전처리
- 군집화
- 기초통계
- 히트맵
- 프로젝트
- 데이터 분석
- data analyst
- da
- jd
- Python
- Chat GPT
- 크롤링
- 태블로
- GA4
- lambda
- cross join
- 프롬프트 엔지니어링
- streamlit
- Today
- Total
세조목
PYTHON 정리(점프투파이썬 - 리스트 자료형)(23.12.31) 본문
- 본 내용들은 PYTHON을 공부하면서 차후 제가 복습하기위해 정리해놓은 것으로 제가 새롭게 알게된 내용들만을 정리하였습니다. 또한 배움이 부족하여 미처 다 파악하지 못한 부분들도 많으니 혹시나 이 포스팅을 보시는 분들께서는 다른 포스팅, 도서, 강의도 함께 참고하시기 바라겠습니다.
1. 리스트 생성 방법
변수 = ["문자열"(or 숫자)]
리스트 안에는 문자열, 숫자, 리스트 뿐만 아니라 어떠한 자료형이든 모두 포함시킬 수 있다.
a=[]
a=["pig", "apple", "age"]
a=[3243, 53214, 376, 98]
a=["pig", 3243, "apple", 98, ["moment", "tell", "swat"]]
2. 인덱싱
인덱싱 방법 역시 문자열과 동일하게 대괄호를 사용해주면 된다.
a = ["list", "food", "pig", "age"]
a[0]
>>> 'list'
리스트 안에 있는 리스트를 인덱싱하고싶을때는 어떻게 하면 될까?
a=["pig", 3243, "apple", 98, ["moment", "tell", "swat"]]
a[-1][0]
>>> 'moment'
리스트 안에 있는 리스트의 위치를 인덱싱해주고,
그 리스트 안에서 찾고자 하는 문자열이 있는 위치를 입력해주면 된다.
예시에서의 경우 리스트 안에 리스트가 4번째(or -1번째)에 위치해있고,
만약 'moment'라는 문자열을 인덱싱하고싶을때 'moment'가 0번째에 위치해있으므로
[0]을 적어주면된다.
※ python에서는 항상 0부터 시작한다는 것을 절대 잊어서는 안 된다.
3. 슬라이싱
문자열과 마찬가지로 슬라이싱도 가능하다.
a = [3, 5, 3, 6, 8, 0]
a[0:3]
>>> [3, 5, 3]
a[3:5]
>>> [6,8]
a[:4]
>>> [3, 5, 3, 6]
a[3:]
>>> [6, 8, 0]
콜론 좌측에 숫자를 넣지 않을 경우 처음부터 출력,
콜론 우측에 숫자를 넣지 않을 경우 끝가지 출력하라는 의미이다.
※ 콜론 우측에 있는 숫자는 '해당 숫자-1'까지 인덱싱한다는 것을 기억해야한다.
4. 연산
리스트는 연산이 가능하다.
더할수 있고 곱할 수 있다.
# 더하기
a=[1, 2, 3, 4]
b=[6, 5, 4, 3]
a+b
>>> [1, 2, 3, 4, 6, 5, 4, 3]
# 곱하기
a=[1, 2, 3, 4]
a * 3
[1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]
5. 길이 구하기
len 함수를 사용하면 리스트의 길이를 구할 수 있다.
a=["pig", "water", "fire"]
len(a)
>>> 3
len함수는 리스트에서뿐만아니라 딕셔너리와 튜플에서도 사용할 수 있다.
6. 리스트 수정
리스트 값은 수정이 가능하다.
a = [34, 165, "work"]
a[2] = 33
a
>>> [34, 165, 33]
문자열 파트에서 문자열은 자체의 값을 변경할 수 없는 immutable 자료형이라고 했다.
다시 말해 내장함수로 문자열을 바꿔줬다면 기존 변수명에 다시 한번 저장을 해줘야
문자열이 영구적으로 수정됐다고 볼 수 있는 것이다.
그런데 리스트에서의 경우 '인덱싱 = 바꾸려는 값'을 해주고 변수를 입력하면
리스트의 값이 바껴있는걸 확인할 수 있다.
7. 리스트 요소 삭제하기
리스트 요소를 삭제할 때는 del 함수를 사용하면된다.
a = [3, 2, 62, 1]
del a[3]
a
>>> [3, 2, 62]
del a[1:]
a
>>> [3]
위 예시에서처럼 인덱싱 앞에 del 을 넣어주면 된다.
인덱싱을 활용해서 여러 값을 삭제할 수도 있다.
8. 리스트 관련 함수
- append
- sort
- reverse
- index
- insert
- remove
- pop
- count
- extend
● append
append는 '덧붙이다, 첨부하다'라는 뜻을 가지고 있다.
뜻 그대로 리스트에 새로운 값을 추가해주는 함수이다.
# 문자열
a = [3, 2, 62, 1]
a.append("cup")
a
>>> [3, 2, 62, 1 "cup"]
# 숫자
a.append(5)
a
>>> [3, 2, 62, 1, 5]
# 리스트
a.append([53, 12, 34])
a
>>> [3, 2, 62, 1, [53, 12, 34]]
이렇게 문자열, 숫자, 리스트 모두 추가할 수 있다.
● sort
sort 함수는 리스트의 요소들을 오름차순으로 정렬해주는 함수다.
# 문자열
a = ["love", "cup", "wiki"]
a.sort()
a
>>> ["cup", "love", "wiki"]
# 숫자
a = [6, 3, 23, 69, 1, 8]
a.sort()
a
>>> [1, 3, 6, 8, 23, 69]
● reverse
reverse는 반전이라는 뜻 그대로 리스트 요소를 뒤집어준다.
# 문자열
a = ["love", "cup", "wiki"]
a.reverse()
a
>>> ["wiki", "cup", "love"]
# 숫자
a = [6, 3, 23, 69, 1, 8]
a.reverse()
a
>>> [8, 1, 69, 23, 3, 6]
이 때 리스트가 정렬되고, 정렬된 값이 reverse되는 것이 아니라 처음 리스트 값 그대로 reverse되는데
만약 정렬시키고 reverse하고싶다면 sort함수를 적용시킨다음 reverse함수를 한 번 더 사용해야한다.
● index
인덱스는 특정 요소의 위치를 찾고자 할 때 사용하는 함수다.
a = ["love", "cup", "wiki"]
a.index("cup")
>>> 1
a.index(3)
Traceback (most recent call last):
<ipython-input-11-dcdbaf3cf2a0> in <cell line: 2>()
ValueError: 3 is not in list
index( ) 괄호 안에 순서를 찾고자하는 요소를 넣어주면
몇번째 순서에 있는지 확인할 수 있다.
만약 리스트에 없는 값을 입력하면 오류 메시지가 출력된다.
● insert
insert는 insert(a, b)로 구성되어있으며 a번째 위치에 b를 삽입하는 함수이다.
a = [8, 2, 9]
a.insert(2, 88)
a
>>> [8, 2, 88, 9]
위 예시를 살펴보면 a인자에 2가, b인자에 88이 들어가있기때문에
리스트에서 두번째 자리에 숫자 88을 넣어주게 되므로
리스트가 [8, 2, 88, 9]가 된다.
● remove
remove(x)는 리스트에서 가장 첫번째로 나오는 x를 제거하는 함수다.
a = [8, 2, 9, 55, 2, 12, 3]
a.remove(2)
a
>>> [8, 9, 55, 2, 12, 3]
a라는 리스트에서 첫번째 자리에 숫자 2가 가장 먼저 위치해있기때문에
첫번째 자리의 숫자 2를 제외한 나머지 요소들이 들어있는 리스트가 출력된다.
● pop
pop의 뜻은 튀어오르다라는 뜻으로 리스트의 가장 마지막 요소만 출력하고 리스트에서 해당 값을 제외시킨다.
a = ["waki", 38, "split", "yes", 111]
a.pop()
>>> 111
a
>>> ["waki", 38, "split", "yes"]
특정 순번에 위치한 값을 출력하고 나머지 값은 제거할수도 있다.
a = ["waki", 38, "split", "yes", 111]
a.pop(3)
>>> "yes"
a
>>> ["waki", 38, "split", 111]
위 예시에서의 경우 3번째 자리에 위치한 값을 pop시킨다는 말인데
세번째 자리의 위치한 값이 "yes"이기 때문에 "yes"를 출력하고
a 리스트에서는 값 "yes"를 제외한 나머지 값들만이 담긴 리스트가 출력된다.
● count
count 함수는 세아리는 함수이다.
무엇을 세아릴까?
count( ) 괄호 안에 있는 값이 몇 번 들어있는지를 세아린다.
a = [6, 8, 212, 11, 8, 98, 11, 8]
a.count(8)
>>> 2
● extend
extend는 리스트를 확장시키는 함수이다.
extend( ) 중괄호에 들어가는 인자를 기존 리스트에 추가시켜준다.
a = [8, 2, 3]
a.extend([3, 9])
a
>>> [8, 2, 3, 3, 9]
'데이터 분석 공부 > Python' 카테고리의 다른 글
PYTHON 정리(점프투파이썬 - 딕셔너리 자료형)(23.12.31) (0) | 2023.12.31 |
---|---|
PYTHON 정리(점프투파이썬 - 튜플 자료형)(23.12.31) (1) | 2023.12.31 |
PYTHON 정리(점프투파이썬 - 문자열)(23.12.30) (2) | 2023.12.30 |
PYTHON 정리(점프투파이썬 - 정렬과 공백, 소수점 표현)(23.12.29) (2) | 2023.12.29 |
PYTHON 정리(점프투파이썬 - 문자열)(23.12.28) (1) | 2023.12.28 |