본문 바로가기

프로그래밍/[Python] 파이썬

[Python] 컬렉션 : 리스트 자료형 (List Type) - 추가, 수정, 삭제

by GenieIT* 2024. 8. 27.

728x90
반응형
728x90
반응형

 

파이썬 데이터 타입 중 리스트 타입의 기초 개념부터 활용 예제까지 자세하게 설명해 놓았습니다.

  • 생성 방법
  • 추가 및 수정
  • 확장
  • 삭제
  • 인덱싱과 슬라이싱
  • 형 변환
  • 모든 요소 제거 (clear)

 

1. 파이썬 리스트(List) 타입이란?

여러 데이터를 한번에 담을 수 있는 데이터 구조 입니다. 추가, 수정, 삭제가 언제나 가능합니다. 또한 데이터 타입이 다르더라도 한번에 담을 수 있습니다.

생성 방법 list(), []
추가 append(값), insert(인덱스번호, 값)
확장 extend(리스트)
삭제 pop(), pop(인덱스번호), remove(값), del, clear()

 

1-1. 리스트 생성 방법

li = list()
print(li) # []

li2 = []
print(li2) # []

 

 

1-2. 리스트 추가 및 수정하기

li = []

li.append('bambi')
li.insert(0, 'hi')

print(li) # ['hi', 'bambi']

li[0] = 'hello'
print(li) # ['hello', 'bambi']

 

1-3. 리스트 확장하기

a = [1, 2, 3]
b = [4, 5, 6]

a.extend(b)

print(a) # [1, 2, 3, 4, 5, 6]

 

1-4. 리스트 삭제하는 방법

※ del, pop, remove 의 차이점 ?

파이썬에서 pop() 과 remove()는 리스트 타입의 메소드이고, del은 키워드 입니다. 그들의 가장 큰 차이점은 pop() 메소드는 무엇을 삭제하는지 리턴값이 존재하고, remove() 메소드는 None 을 리턴합니다. del 키워드는 리턴값이 존재하지 않습니다.

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) # [] >> 모두 제거하기

 

 

1-5. 리스트 인덱싱(Indexing) & 슬라이싱(Slicing)

리스트의 인덱싱과 슬라이싱 참고 내용 : 문자열 인덱싱&슬라이싱 글 참고

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

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] >> 리스트 거꾸로 출력

 

1-6. 리스트 형변환 (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'>

 

 

1-7. 모든 요소 제거하기 clear()

li = [10, 20, 30, 40, 50, 60, 70, 80]

li.clear()
print(li) # [] >> 모든 요소 제거

 

 

 

728x90
반응형