728x90
반응형
자료구조란?
- 자료를 효율적으로 저장하는 여러 가지 구조
- 리스트, 튜플, 세트, 딕셔너리 구조
리스트(List)
- 리스트는 순서가 있는 값들의 집합
- 리스트를 사용하는 경우는 서로 관련된 데이터를 차례로 접근해 처리하고 싶은 경우
- 리스트는 데이터들에게 하나하나 이름을 붙이지 않고 전체 집단에 하나의 이름을 부여한 다음, 숫자로 된 번호를 통해 각각의 데이터에 접근하는 방법
- 파이썬에서는 다양한 종류의 데이터를 하나의 리스트 안에 저장 가능
리스트명 = [요소1,요소2,요소3..]
# 리스트명 [요소1,요소2,요소3,,,]
a = []
b = [1,2,3]
c = ['Life','is','too','short']
d = [1,2,'Life','is']
e = [1,2,['Life','is']] # 리스트 안에 리스트 생성
리스트 인덱싱(List Indexing)
- 인덱싱은 리스틀 다루는 매우 중요한 개념
- 인덱싱이란 리스트에서 하나의 요소를 인덱스 연산자를 통해 접근하는 것을 의미한다.
- 인덱스는 정수이며, 항상 0에서부터 시작한다.
- 인덱스는 0에서 부터 시작하므로 전체 길이의 -1개 만큼의 개수를 가진다.
예)
# 리스트의 인덱싱
# data 변수 안에 저장된 리스트 목록
data = ['사과','배','포도','딸기','토마토','메론']
print(data)
# 엔덱싱을 통해 리스트 내의 하나의 값을 표현하는 방법
print('리스트 인덱싱을 통해 하나의 값을 표현 : ', data[0])
리스트 슬라이싱(List Slicing)
- 슬라이싱은 리스트 안에서 범위를 지정해 원하는 요소들을 선택하는 연산이다.
- Data 변수에 저장되었을 경우 data[start:end] 까지의 값을 표현한다.
- 대괄호 안에 : 를 표시해 시작과 끝 지점에 인덱싱을 입력, 이때 끝 지점 인덱싱은 데이터가 표시되지 않는다.
# 슬라이싱
data = ['사과','배','포도','딸기','토마토','메론']
print('리스트 슬라이싱 2부터 3까지 : ',data[2:4])
print('리스트 슬라이싱 0부터 끝까지 : ', data[:])
리스트 더하기, 반복하기
# 리스트 더하기, 반복하기
# 리스트 더하기
a = [1,2,3]
b = [4,5,6]
print('a+b : ',a+b)
# 리스트 반복하기
print('a*3 : ',a*3)
리스트에서 하나의 값 수정, 연속된 범위의 값 수정
# 리스트 하나의 값 수정, 연속된 범위의 값 수정
# 하나의 값 수정하기
a = [1,2,3]
print('수정 전의 a : ',a)
a[2] = 4
print('수정 후의 a : ',a)
# 연속된 범위의 값 수정
print('수정 전의 a : ',a[1:2])
a[1:2] = ['a','b','c']
print("수정 후의 a : ",a)
리스트 요소 삭제
# 리스트 요소 삭제
a = [1,'a','b','c',4]
b = [1,'a','b','c',4]
# 방법 1 []사용
print('삭제 전의 a : ',a)
a[1:3] = []
print('삭제 후의 a : ',a)
# 방법 2 del 함수 사용해 리스트 요소 삭제
print('삭제 전의 b : ',b)
del b[:2]
print('삭제 후의 b : ',b)
리스트 요소 추가
# 리스트 요소 추가 = append
a =[1,2,3]
print('요소 추가 전의 a : ',a)
a.append(4)
print('요소 추가 후의 a : ',a)
리스트 정렬
# 리스트 정렬 = sort
a = [1,5,2,4]
print('정렬 전의 a : ',a)
a.sort()
print('정렬 후의 a : ',a)
리스트 뒤집기
# 리스트 뒤집기
a = ['a','c','b']
print('뒤집기 전의 a : ',a)
a.reverse()
print('뒤집기 후의 a : ',a)
위치 반환(index)
# 위치 변환(index)
a = [1,2,3]
print('a의 index(3)은 > : ', a.index(3))
print('a의 index(1)은 > : ', a.index(1))
리스트 요소 삽입, 제거
# 리스트 요소 삽입, 제거
a = [1,2,3]
b = [1,2,3,1,2,3]
# 요소 삽입 = insert
print('요소 삽입 전의 a : ',a)
a.insert(0,4)
print('요소 삽입 후의 a : ',a)
# 요소 제거 = remove
print('요소 제거 전의 b : ',b)
b.remove(3)
print('요소 제거 후의 b : ',b)
*요소 제거 시에 앞에 있는 요소의 값이 먼저 제거된다.
리스트 요소 끄집어내기
# 리스트 요소 끄집어내기 = pop
a = [1,2,3]
print('요소 끄집어내기 전의 a : ',a)
a.pop() # 요소 끄집어낼시 마지막에 해당 값이
print('요소 끄집어내기 후의 a : ',a)
리스트에 포함된 요소 x의 개수 세기
# 리스트에 포함된 요소 x의 개수 세기(count)
a = [1,2,3,1]
print('리스트에 포함된 1의 개수 : ', a.count(1))
리스트 확장
# 리스트 확장 = extend
a = [1,2,3]
print('확장 전의 a : ',a)
a.extend([4,5])
print('확장 후의 a : ',a)
b = [6,7]
a.extend(b)
print('확장 후의 a : ',a)
728x90
반응형
최근댓글