- JavaScript
- python slicing
- 프로그래밍
- python dictionary
- javascript 날짜 포맷 변환
- jupyter python
- jQuery
- 파이썬 기초
- javascript array method
- Python3
- 카카오 애드핏
- 파이썬 온라인 강의
- 웹 프로그래밍
- javascript array splice
- 웹 프로그래밍 기초
- 국비 지원 파이썬
- 파이썬 강의 사이트
- 파이썬 ide 추천
- javascript array unshift
- 프로그래밍 파이썬
- javascript array add
- 코딩 파이썬 기초
- 자바스크립트
- jquery loaded event
- HTML
- 국비 지원 프로그래밍
- 파이썬 입문
- javascript array push
- 동기 뜻
- javascript date format
- 파이썬 배우기
- 비동기 코드
- 파이썬 학원
- javascript example
- javascript array map
- javascript array remove
- kakao Adfit
- 제이 쿼리
- 동기 코드
- 파이썬 강의
- 파이썬 세트
- 리엑트 삼항연산자
- python index
- HTML 기초
- python 다운로드
- $(document).ready()
- 파이썬 사칙연산
- html css
- 비동기 뜻
- javascript array shift
코딩이 즐겁다
[파이썬 기초] 리스트(List) 타입 사용법 갓벽 가이드 본문
파이썬 리스트(List) 타입이란?
파이썬(Python)의 리스트(List)는 가장 유용하고 많이 사용되는 데이터 타입 중 하나로, 여러 개의 값을 하나의 변수에 저장할 수 있는 순서가 있는 컬렉션입니다. 리스트는 다양한 데이터 타입을 포함할 수 있으며, 가변적(mutable)이라는 특징을 가지고 있습니다.
생성 방법 | list(), [] |
추가 | append(값), insert(인덱스번호, 값) |
확장 | extend(리스트) |
삭제 | pop(), pop(인덱스번호), remove(값), del, clear() |
리스트 생성
리스트는 대괄호([ ])를 사용하여 생성합니다. 또한 list() 함수를 사용하여 리스트를 생성할 수도 있습니다.
li = list()
print(li) # []
li2 = []
print(li2) # []
리스트 추가 및 수정
리스트 타입은 append() 함수와 insert() 함수를 사용하여 생성된 리스트에 추가나 수정을 할 수 있습니다.
li = []
li.append('python')
li.insert(0, 'hi')
print(li) # ['hi', 'python']
li[0] = 'hello'
print(li) # ['hello', 'python']
리스트 확장
리스트 타입은 extend() 함수를 사용하여 확장할 수 있습니다.
a = [1, 2, 3]
b = [4, 5, 6]
a.extend(b)
print(a) # [1, 2, 3, 4, 5, 6]
리스트 삭제
리스트 타입은 pop()과remove() 함수를 사용하여 리스트 요소를 제거할 수 있습니다.
li = [10, 20, 30, 40, 50, 60, 70, 80]
n = li.pop()
print(n, li) # 80 [10, 20, 30, 40, 50, 60, 70] >> 삭제하는 값 80 리턴
n = li.pop(1)
print(n, li) # 20 [10, 30, 40, 50, 60, 70] >> 삭제하는 값 20 리턴
n = li.remove(10)
print(n, li) # None [30, 40, 50, 60, 70] >> None 리턴
del li[0]
print(li) # [40, 50, 60, 70] >> 특정 인덱스 제거하기
del li[0:2]
print(li) # [60, 70] >> 슬라이싱 방법으로 제거하기
del li[:]
print(li) # [] >> 모두 제거하기
💡 del, pop(), remove() 함수의 차이점?
파이썬에서 pop() 과 remove()는 리스트 타입의 메소드이고, del은 키워드 입니다. 그들의 가장 큰 차이점은 pop() 메소드는 무엇을 삭제하는지 리턴값이 존재하고, remove() 메소드는 None 을 리턴합니다. del 키워드는 리턴값이 존재하지 않습니다.
리스트 형변환 (Type) -> Tuple, Set 타입
li = [1, 2, 3, 1, 2, 3]
print( li, type(li) ) # [1, 2, 3, 1, 2, 3] <class 'list'>
li = tuple(li)
print( li, type(li) ) # (1, 2, 3, 1, 2, 3) <class 'tuple'>
li = set(li)
print( li, type(li) ) # {1, 2, 3} <class 'set'>
리스트 비우기 (Clear)
li = [10, 20, 30, 40, 50, 60, 70, 80]
li.clear()
print(li) # [] >> 모든 요소 제거
리스트 인덱싱과 슬라이싱
인덱싱 (Indexing)
리스트의 특정 요소에 접근하려면 인덱스를 사용합니다. 인덱스는 0부터 시작하며, 음수 인덱스를 사용하면 역방향으로 접근할 수 있습니다.
li = [10, 20, 30, 40, 50]
print(li[0], li[1], li[2], li[3], li[4]) # 10 20 30 40 50
print(li[-5], li[-4], li[-3], li[-2], li[-1]) # 10 20 30 40 50
슬라이싱 (Slicing)
리스트의 일부를 추출하려면 슬라이싱을 사용합니다. 슬라이싱은 [시작:끝:간격] 형식으로 사용됩니다.
li = [10, 20, 30, 40, 50]
print(li[:]) # [10, 20, 30, 40, 50]
print(li[1:3]) # [20, 30]
print(li[-5:-3]) # [10, 20]
print(li[::2]) # [10, 30, 50] >> 인덱스 증감값 2
print(li[1::2]) # [20, 40] >> 시작 인덱스 1, 인덱스 증감값 2
print(li[::-1]) # [50, 40, 30, 20, 10] >> 리스트 거꾸로 출력
리스트 타입 복사
얕은 복사 (Shallow Copy)
기본 복사는 얕은 복사를 수행하며, 중첩된 리스트에서는 참조만 복사됩니다.
a = [1, 2, [3, 4]]
b = a[:]
b[2][0] = 100
print(a) # [1, 2, [100, 4]]
print(b) # [1, 2, [100, 4]]
깊은 복사 (Deep Copy)
중첩 리스트까지 복사하려면 copy 모듈의 deepcopy()를 사용합니다.
import copy
a = [1, 2, [3, 4]]
b = copy.deepcopy(a)
b[2][0] = 100
print(a) # [1, 2, [3, 4]]
print(b) # [1, 2, [100, 4]]
리스트와 반복문
기본 반복
a = [1, 2, 3]
for item in a:
print(item)
인덱스와 함께 반복
a = ["a", "b", "c"]
for i, value in enumerate(a):
print(f"Index: {i}, Value: {value}")
리스트 타입 주요 메서드 및 연산 요약
💡 리스트 타입 메서드
메서드 | 설명 | 예제 |
append(x) | 리스트의 끝에 요소 추가 | a.append(100) |
extend(iterable) | 리스트 확장 (다른 iterable 추가) | a.extend([60, 70]) |
insert(i, x) | 특정 위치(i)에 요소 삽입 | a.insert(2, 25) |
remove(x) | 첫 번째로 등장하는 요소 x 제거 | a.remove(20) |
pop(i) | 특정 위치(i)의 요소 제거 및 반환 | a.pop(2) |
clear() | 모든 요소 제거 | a.clear() |
index(x) | 요소 x의 첫 번째 인덱스 반환 | a.index(30) |
count(x) | 요소 x의 개수 반환 | a.count(10) |
reverse() | 리스트 요소 뒤집기 | a.reverse() |
sort() | 리스트 정렬 (기본: 오름차순) | a.sort() |
예제:
a = [10, 20, 30, 40, 50]
a.append(60) # [10, 20, 30, 40, 50, 60]
a.insert(2, 25) # [10, 20, 25, 30, 40, 50, 60]
a.remove(30) # [10, 20, 25, 40, 50, 60]
print(a.pop()) # 60 (제거된 요소 반환)
a.sort(reverse=True) # [50, 40, 25, 20, 10]
💡 리스트 연산
연산 | 설명 | 예제 |
+ | 두 리스트를 연결 | [1, 2] + [3, 4] → [1, 2, 3, 4] |
* | 리스트를 반복 | [1, 2] * 3 → [1, 2, 1, 2, 1, 2] |
in | 요소 포함 여부 확인 | 3 in [1, 2, 3] → True |
len() | 리스트 길이 반환 | len([1, 2, 3]) → 3 |
min() | 리스트 최소값 반환 | min([1, 2, 3]) → 1 |
max() | 리스트 최대값 반환 | max([1, 2, 3]) → 3 |
sum() | 리스트 요소의 합 | sum([1, 2, 3]) → 6 |
코즐
파이썬을 배우고 싶은 사람은 누구나 파이썬 학원(국비 지원 파이썬 학원)에 가지 않고도 파이썬 공부를 하면서 실력을 쌓아나갈 수 있다고 생각합니다.
파이썬 온라인 강의 자료를 올리면서 누구나 쉽게 파이썬을 공부하실 수 있도록 최선을 다해서 설명하도록 하겠습니다.
'Python' 카테고리의 다른 글
[파이썬 기초] 세트 (Set) 타입 사용법 갓벽 가이드 (83) | 2025.01.24 |
---|---|
[파이썬 기초] 튜플 (Tuple) 타입 사용법 갓벽 가이드 (84) | 2025.01.23 |
[파이썬 기초] 문자열 인덱싱과 슬라이싱 (Indexing, Slicing) 갓벽 가이드 (37) | 2025.01.22 |
[파이썬 기초] 기본 자료형 (int, str, bool, float) 갓벽 가이드 (41) | 2025.01.22 |
[파이썬 기초] 주석 (한 줄, 여러 줄, Docstrings, 단축키) 갓벽 가이드 (36) | 2025.01.22 |