인공지능/파이썬

파이썬(Python) - 조합 데이터 타입① 데이터 타입의 종류 / 리스트(List)

해피밀세트 2020. 2. 18. 16:41
반응형

 

데이터 타입의 종류

 

변수(데이터를 저장하는 공간) 데이터 타입은 크게 두가지로 나뉜다.
단일 값을 저장하는 타입과
여러개의 값을 저장하는 타입( = 조합 데이터 유형, 조합 데이터 타입) 이다.

단일 값을 저장하는 데이터 타입
1) integer : 정수형
2) float : 실수형
3) string : 문자형
4) boolean : 불리언

여러개의 값을 저장하는 데이터 타입
1) list : [ ]
2) tuple : ( )
3) dictionary : { }
4) set : { }

 


 

1. 리스트

 

  • [ ] 대괄호 / list( ) 표현
  • 여러 값을 동일한 변수에 순차적으로 저장할 있는 용도의 자료형
  • 서로 다른 데이터 타입을 가질 있다.
  • 중첩할 있다.


리스트의 데이터 타입을 확인해 보자 :
x = []
x1 = list()
type(x)
type(x1)

 

리스트 생성하기 :
x2 = [10, 20, 30]
x2
type(x2)
len(x2)    # 리스트안에 몇개가 들어있는지 확인

 

리스트 인덱싱(indexing) 하기 :
x2[0]
x2[-1]

 

리스트 슬라이싱(slicing) 하기 :
x2[0:2] #[시작 : 끝-1]
x2[:-1]
x2[-1:]

 

리스트 값 수정하기 :
x2 = [10, 20, 30]
x2[0]
x2[0]= 100
x2[1:3]
x2[1:3] = [200, 300] 

 

 

리스트 조작 관련 함수

append(넣을 ) : 리스트 변수 끝에 값을 추가하는 방법
x2.append(400)
x2

 

insert(인덱스번호, 넣을 ) : 인덱스 번호를 사용하여 특정 위치에 값을 입력하는 방법
x2.insert(4, 500)

 

extend(붙일 리스트) : 기존 리스트 변수에 다른 리스트 변수를 이어 붙이는 방법
x3 = [600, 700]
x2.extend(x3)

+를 이용해서 리스트 변수를 결합할 수 있다.
x4 = [800, 900, 1000]
x5 = x2+x4
x5

 

pop( ) : 리스트 변수에 있는 값 중에 마지막 값을 제거하는 방법
pop(인덱스 번호) : 특정한 인덱스 번호를 기준으로 제거하는 방법
x5.pop( )
x5 

x5[4]
x5.pop(4)
x5

위와 동일한 기능 (del 사용)
del x5[0]

 

index() : 리스트 안에서 특정 단어를 찾고싶을땐 index만 쓸 수 있다.
drink = ['콜라','사이다','콜라','환타','사이다','콜라']
drink.index('콜라')
drink.find('콜라')      # 오류남

 

remove('문자') : 리스트 변수에 값을 기준으로 삭제하는 방법
drink.remove('콜라')   # 첫번째 '콜라' 삭제
drink
drink.remove('콜라')   # 두번째 '콜라' 삭제
drink

 

clear() : 리스트 변수 안에 있는 모든 값을 지우는 방법
x.clear()
x

 

x = [1, 2, 3]
dir() : 메모리에 생성된 변수 확인
id() : 메모리 주소 확인
dir(x)
id(x)

 

x = [1, 5, 3, 4, 2]   # 리스트안엔 입력한 순서대로 들어간다.
sort() : 리스트변수 안에 값을 기준으로 정렬 (기본은 오름차순) / 미리보기
x.sort()
x

sort(reverse = True) : 내림차순 정렬
x.sort(reverse = True)
x

 

sorted() : 정렬값을 저장할 수 있음 
x = [1, 5, 3, 4, 2]
x1 = sorted(x) 
x1

x2 = sorted(x, reverse = True) #내림차순
x2

 

reverse() : 리스트 변수 값을 반대로 뒤집을때 / 바뀐값이 변수에 바로 적용된다.
x[::-1]         # 미리보기
x.reverse()

 

 

중첩 리스트

x = [1, 2, 3, ['a','b','c'], 4, 5]
type(x)
type(x[0])
x[3]
type(x[3])

 

x = [1, 2, 3, ['a','b','c'], 4, 5]

type(x[3][0])               # 중첩리스트의 데이터 타입 확인

x[3][0]                       # [][] : 중첩리스트 안의 값을 인덱싱할때
x[3][0:2]                     # [][:] : 중첩리스트 안의 값을 슬라이싱할때

x[3].append('d')           # 3번인덱스 안에 'd'를 이어붙이기
x[3]

del x[3][0]                  # 충첩리스트 삭제
x[3]

x[3].insert(0, 'a')           # 중첩리스트에 값을 이어붙이기
x[3]

x[3][0] = x[3][0].upper()  # 중첩리스트 문자값 대문자로 변환
x[3]

x[0] = x[0]*10     
x
x[3][0] = x[3][0]*2         # 중첩리스트 문자값 반복 / 숫자값 곱셈
x

 

 

*리스트 함수 정리*

[리스트 함수]    
   
append( )
리스트 변수 끝에 값을 추가하는 방법    
insert( , ) 인덱스 번호를 사용하여 
특정 위치에 값을 입력하는 방법
   
extend( ) 기존 리스트 변수에 다른 
리스트 변수를 이어 붙이는 방법
   
pop( )  리스트 변수에 있는 값 중에 
마지막 값을 제거하는 방법 
   
pop(인덱스 번호) 특정한 인덱스 번호를 기준으로
제거하는 방법 (= del)
   
index( ) 리스트 안에서 특정 단어를 찾고
싶을땐 index만 쓸 수 있다. 
   
remove('문자') 리스트 변수에 값을 기준으로 
삭제하는 방법 
   
clear( ) 리스트 변수 안에 있는 모든 값을
지우는 방법 
   
dir() 메모리에 생성된 변수 확인    
id() 메모리 주소 확인    
sort()  리스트변수 안에 값을 기준으로 정렬
(기본은 오름차순) / 미리보기 
   
sort(reverse = True)  내림차순 정렬     
sorted() 정렬값을 저장할 수 있음     
reverse()  리스트 변수 값을 반대로 뒤집을때 / 
바뀐값이 변수에 바로 적용된다.
   

 

반응형