Python 43 - 파이썬 데이터 타입의 종류 - 리스트(List)

2021. 6. 4. 11:06python

반응형

데이터 타입의 종류

 

변수(데이터를 저장하는 공간) 데이터 타입 크게 두 가지 나뉜다.

 

단일 값을 저장하는 데이터 타입

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)

type(x)로 변수x의 데이터타입을 확인해본 결과 list 라는 결과가 나오는 것을 알 수 있다.

 

 

 

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

변수 x2 안에 배열로서 10,20,30 의 값이 들어가있고, len으로 리스트안에 3개에 데이터가 있음을 알 수 있다.

 

 

 

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

10,20,30 이 들어있는 x2에서 순서를 메길때 1번째 부터 시작하는 것이 아닌 0번쨰 부터 시작한다.

인덱싱이란 이렇게 데이터에 위치를 숫자로 확인하는 것을 말한다.

 

 

 

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

슬라이싱이란 0번째데이터 1번째 데이터를 가져오는 것처럼 특정 부분을 가져오는 것을 말한다.

위예시처럼 배열에 있는 데이터 중 0번쨰부터 1번째까지 데이터를 가져올 수 있다.

주의 할 점은 x2[0:2] 에서 2는 2번째 자리가 아니고 2번째 자리 앞인 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

4번째위치에 있는 데이터값을 제거한다. 즉 5번째인 500제거

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

del 도 pop과 같은 역할을 수행한다.

 

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

원하는 단어의 위치는 index로 확인이 가능하다.

 

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

데이터 값을 이용해 원하는 데이터값을 제거할 수 있다.

 

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

배열 안에 데이터들을  초기화 시킨다.

 

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

dir() 로 메모리에 변수 x 가 있다는 것을 확인 후 id()로 메모리 주소를 확인한다.

 

 

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

sort()f를 이용해 올림차순으로 정렬한다.

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

내림차순 정렬 reverse이용

 

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

정렬된 배열울 저장한다.

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

마찬가지로 reverse로 내림차순 정렬

 

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

데이터 값들의 순서를 뒤집는다.

 

 

중첩 리스트

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

배열안에 1,2,3,4,5 의 데이터 타입은 int이지만, 3번째인 [a','b','c']의 데이터타입은 list이다.

즉 배열안에 배열도 가능하다.

 

 

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

변수x의3번째에 있는 데이터값 ['a',b','c'] 중에 0번째는 'a'이고 이것에 데이터 타입은 stirng이기때문에 str이 출력된다.

 

 

 

*리스트 함수 정리*

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

 

반응형