List
- 시퀀스 자료형
- 원소들이 연속적으로 저장되는 형태의 자료형
- 리스트는 함수로 사용이 가능
리스트 = list() //빈 리스트 생성
- 리스트는 다차원으로 사용할 수 있음
만드는 방법
- 대괄호로 묶어주고 ‘,’(콤마)로 값들을 구분
리스트 = [값1, 값2, ....]
range란?
- 연속된 숫자를 생산하는 기능
- range(시작, 끝)를 통해 시작부터 끝-1까지의 수를 반환해 준다
- range(시작, 끝, 증가)를 통해 시작부터 끝-1까지의 수를 반환해 준다
- 리스트와의 사용 예시
리스트 = list(range(0,10))
리스트 = list(range(0,10,-1))
리스트를 이용해서 변수 넣기
변수1, 변수2, 변수3 = [값1, 값2, 값3] # 값1은 변수1로 값2는 변수2로 값3은 변수3으로 할당 됨
슬라이싱
- 리스트의 원하는 값들을 가져올 수 있는 방법(인덱스 번호를 활용해서)
- 시퀀스 자료형 슬라이싱 하는 방법과 동일
리스트 내 값 변경하기
넣기
- 리스트. insert(’ 값’, ‘원하는 인덱스 번호’)
바꾸기
- 리스트[’ 원하는 인덱스 변호’] = ‘값’
지우기
- del 리스트[’원하는 인덱스 번호’]
문자열도 될까?
- 문자열은 같은 시퀀스여도 리스트처럼 넣고, 바꾸고, 지우기를 할 수 없다.
Tuple
튜플이란?
- 리스트처럼 요소를 일렬로 저장하지만 안에 저장된 요소를 변경, 추가, 삭제할 수 없음
- 값을 추가, 변경, 삭제 할 수 없기 때문에 사용하지 못하는 메서드가 많음
튜플 생성 방법
- tuple = 값, 값
- 튜플은 언팩킹된 값으로 넣을 수 있음
- tuple = (값, 값)
하나의 값만 있는 튜플 만드는 방법
- tuple = (값,)
- 쉼표가 없으면 자료형이 튜플이 아닌 값의 해당하는 자료형으로 들어가게 됨
튜플을 쓰는 이유
- 3GO(변경, 수정, 삭제)가 불가능함
- 3GO 되면 안 되는 변수를 건드는 경우를 건드는 것을 방지할 수 있음
- 중요한 데이터를 넣어서 보안적으로 관리하기 좋음
- list가 tuple보다 무거움
- 같은 내용을 처리해도 list가 성능이 떨어질 수 있음
- 파이썬은 동적 배열을 지원하기 때문에 list가 무거움
- 메모리 영역이 모자라면 추가 할당을 함(동적으로) 이때 메모리를 더블링으로 할당함(4 → 8 → 16 ….)
- 리스트는 가변이고 튜플은 불변임
- 값이 고정되어야 하거나 크기가 작을 경우 튜플을 권장함
리스트와 튜플의 공통점
- 길이를 구할 수 있음
- 곱하기 연산으로 요소를 복사할 수 있음
- 요소끼리 더할 수 있음
- 인덱싱이 가능함
- 요소의 개수(값의 개수)를 구할 수 있음
- 슬라이싱이 가능함
'프로그래밍 > Python' 카테고리의 다른 글
[Python - 5 ] dict와 set (0) | 2024.04.01 |
---|---|
[Python - 3 ] 입력과 출력 (0) | 2024.04.01 |
[Python - 2 ] 변수, 자료형, 메소드 그리고 비교 및 논리 연산자 (0) | 2024.04.01 |
[Python - 01 ] 기본 문법 (0) | 2024.04.01 |
[Python] 파이썬의 변수 저장 방식과 메모리 해제(Garbage Collector) (0) | 2024.03.29 |