[Python] 리스트(list)란? 리스트 특징과 주요 함수
by 우와한개발자
1. 리스트(List)란?
- 여러 값을 하나의 변수에 저장하고 관리하는 자료형
- 순서대로 저장
- 인덱스는 0부터 시작
- 리스트 안의 부분 리스트들은 요소의 수가 달라도 됨
2. list 생성
- 대괄호 [ ] 를 사용해 생성
- []안에 []를 넣으면 차원이 증가
numbers=[1,2,3,4,5] # 1차원
numbers2 = [[1,2,3],[4,5,6,7]] #2차원
range()
- 연속된 정수의 범위를 만들어주는 함수
- range객체 반환
형식 설명 예시 range(to) 0부터 to-1까지 range(5) → 0,1,2,3,4 range(from, to) from부터 to-1까지 range(2, 5) → 2,3,4 range(from, to, by) from부터 to-1까지 만큼 증가/감소 range(1, 10, 2) → 1,3,5,7,9 print(list(range(1, 11, 2))) #[1, 3, 5, 7, 9]
3. 주요 함수/연산
1) 기본 조회
- len(list_data) : 길이
- min(list_data), max(list_data) : 2차원 리스트에서는 부분 리스트 중에서 첫 요소가 가장 작은/큰 값을 갖는 리스트 반환
2) 요소 추가
- + : 두 리스트 연결
- * : 리스트 곱한 수만큼 반복
- list_data.append(value) : 끝에 값 추가
- list_data.extend(new_list) : new_list의 모든 요소들을 추가
- list_data.insert(index, value) : index에 value추가
numbers = [1,2,3,[4,5]]
numbers.append(6) #[1,2,3,[4,5],6]
numbers.extend([7]) #[1,2,3,[4,5],6,7]
numbers.insert(1,10) #[1,10,2,3,[4,5],6,7]
numbers+[10,'20'] # #[1,10,2,3,[4,5],6,7, 10,'20']
3) 인덱싱
- list_data.count(value) : 리스트내 value의 갯수 반환
- list_data.index(value) : 리스트내 value의 인덱스 반환(여러개면 먼저 첫번째 인덱스)
- list_data[index] : 해당 인덱스의 값 반환
numbers=[1,2,[3,4],1,2]
numbers.count(1) # 2
numbers.index(2) # 1
numbers[2] # [3,4]
4) 슬라이싱
- list_data[from:to] : from인덱스부터 to-1인덱스까지
- list_data[from:to,by] : from인덱스부터 to-1인덱스까지 매 by번째 요소
numbers=[1,2,[3,4],5,6,7]
numbers[0:len(numbers):3] #[1,5]
5) 요소 삭제
- list_data.pop(index) : 해당 인덱스 요소 삭제 후 반환, 인덱스 명시안하면 맨 마지막 요소 삭제후 반환
- list_data.remove(value) : 리스트내 value 요소 삭제(여러 개면 가장 작은 인덱스 요소 삭제)
- del list_data[index] : 해당 요소 삭제
- list_data.clear() : 모든 요소 삭제
numbers=[1,1,2,[3,4],5]
numbers.pop() #5
numbers.remove(1) #numbers=[1,2,[3,4]]
6) 요소 정렬
- list_data.sort(): 오름차순 정렬(파라미터로 key=정렬기준(기본값None), reverse=정렬방향(기본값False))
- list_data.reverse() : 역순으로 나열 (⚠️내림차순 아님!!)
- list_data[::-1] : 역순으로 나열
a = ['apple', 'kiwi', 'banana']
a.sort(key=len, reverse=True)
print(a) #['banana', 'apple', 'kiwi']
nums = [100,22,[3,4]]
nums.sort() # ⚠️TypeError : 리스트와 숫자 비교 못함
numbers = [1,22,3,44]
numbers.reverse() # [44,3,22,1]
| 원본데이터 변경 ⭕ | sort(), reverse() |
| 원본데이터 변경 ❌ | [::-1] |
7) 복제
- list_data.copy() : 복제된 새로운 객체 생성
- = : 주소 복사해 같은 객체 참조
numbers=[1,2,3]
numbers_copy=numbers.copy()
numbers == numbers_copy #True
'언어 > Python' 카테고리의 다른 글
| [Python] 딕셔너리(dictionary)란? 딕셔너리 특징과 주요 함수 (0) | 2026.03.08 |
|---|---|
| [Python] 튜플(tuple)이란? 튜플 특징과 주요 함수 (0) | 2026.03.08 |
| [Python] 날짜 포맷팅 - datetime객체, strftime(),strptime(), localtime() (0) | 2026.03.08 |
| [Python] 포맷팅(출력형식지정)- format(), %, f-string (0) | 2026.03.08 |
| [Python] 기본 자료형- 숫자형과 문자열, 논리형 (0) | 2026.03.08 |
블로그의 정보
우와한개발자 님의 블로그
우와한개발자