Python 리스트

Python/학교 / / 2020. 9. 15. 17:32
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])

[그림1] 리스트 인덱싱

 

 

리스트 슬라이싱(List Slicing)

  • 슬라이싱은 리스트 안에서 범위를 지정해 원하는 요소들을 선택하는 연산이다.
  • Data 변수에 저장되었을 경우 data[start:end] 까지의 값을 표현한다.
  • 대괄호 안에 : 를 표시해 시작과 끝 지점에 인덱싱을 입력, 이때 끝 지점 인덱싱은 데이터가 표시되지 않는다.
# 슬라이싱
data = ['사과','배','포도','딸기','토마토','메론']

print('리스트 슬라이싱 2부터 3까지 : ',data[2:4])
print('리스트 슬라이싱 0부터 끝까지 : ',  data[:])

[그림2] 리스트 슬라이싱

 

 

 

리스트 더하기, 반복하기

# 리스트 더하기, 반복하기

# 리스트 더하기
a = [1,2,3]
b = [4,5,6]
print('a+b : ',a+b)

#  리스트 반복하기
print('a*3 : ',a*3)

[그림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)

[그림4] 리스트 하나의 값 수정, 연속된 범위 값 수정

 

 

 

리스트 요소 삭제 

# 리스트 요소 삭제 
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)

[그림5] 리스트 요소 삭제

 

 

 

리스트 요소 추가

# 리스트 요소 추가 = append
a =[1,2,3]
print('요소 추가 전의 a : ',a)
a.append(4)
print('요소 추가 후의 a : ',a)

[그림6] 리스트 요소 추가

 

 

리스트 정렬

# 리스트 정렬 = sort
a = [1,5,2,4]
print('정렬 전의 a : ',a)
a.sort()
print('정렬 후의 a : ',a)

[그림7] 리스트 정렬

 

 

 

리스트 뒤집기

# 리스트 뒤집기
a = ['a','c','b']
print('뒤집기 전의 a : ',a)
a.reverse()
print('뒤집기 후의 a : ',a)

[그림8] 리스트 뒤집기

 

 

위치 반환(index)

# 위치 변환(index)
a = [1,2,3]
print('a의 index(3)은 > : ', a.index(3))
print('a의 index(1)은 > : ', a.index(1))

 

[그림9] 위치 반환(index)

 

 

리스트 요소 삽입, 제거

# 리스트 요소 삽입, 제거 

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)

[그림10] 리스트 요소 삽입, 제거

 

*요소 제거 시에 앞에 있는 요소의 값이 먼저 제거된다.

 

 

리스트 요소 끄집어내기

# 리스트 요소 끄집어내기 = pop
a = [1,2,3]
print('요소 끄집어내기 전의 a : ',a)
a.pop() # 요소 끄집어낼시 마지막에 해당 값이 
print('요소 끄집어내기 후의 a : ',a)

[그림11] 리스트 요소 끄집어내기

 

 

리스트에 포함된 요소 x의 개수 세기

# 리스트에 포함된 요소 x의 개수 세기(count)
a = [1,2,3,1]
print('리스트에 포함된 1의 개수  : ', a.count(1))

[그림12] 리스트에 포함된 x의 개수

 

리스트 확장

# 리스트 확장 = extend

a = [1,2,3]
print('확장 전의 a : ',a)
a.extend([4,5])
print('확장 후의 a : ',a)

b = [6,7]
a.extend(b)
print('확장 후의 a : ',a)

[그림13] 리스트 확장

 

 

 

728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기