본문 바로가기
개발&코딩/Python

[Python] - list 자료형에 대한 기초

by 우동이 2020. 9. 8.
300x250

Python이라는 언어의 강점은 빠르고 간편함 그 심플함에서 나오는 강력함이다

그러한 Python을 더 좋은 언어로써 기능하게 해주는 여러가지 중 하나는 

list라는 자료형에도 어느 정도 지분이 있지 않을까 싶다

list 자료형 선언법

list1=[1,2,3,4,5]

list2=['1','2','3']

list3=['seoul','busan','olsan']

list4=[[1,2],3,4]

list5=[1,2,'seoul','busan']

list6=[]

list는 []내에 값을 선언한다

list4와 같이 리스트 내에 리스트가 들어있는 다중 리스트의 형태도 존재하며

list5의 경우와 같이 여러 자료형이 동시에 들어가있는 형태의 list도 가능하다

list6은 공백 즉 빈 리스트이다.

list 자료형 - 인덱싱, 슬라이싱

list1=[1,2,3,4,5]

print(list1[-1])

>>> 5

print(list1[2:3])

>>> 3,

print(list1[:])

>>> 1,2,3,4,5

list2=list1[2:4]

print(list2)

>>> 3,4

문자열 자료형에서와 같이 list자료형도 indexing과 slicing이 가능하다

list2는 list을 slicing 한 값을 넣어 새로운 list자료형을 만든 것이다.

list형 연산

list1=[1,2,3]
list2=[4,5,6]
print(list1+list2)

>>> [1,2,3,4,5,6]

print(list2*2)
>>> [4,5,6,4,5,6]

list형은 문자열함수처럼 indexing과 slicing이 가능했던 것처럼

간단한 곱과 합의 연산이 가능한데

list1과 list2의 값을 더하면 두 값을 더한 값이 출력된다

곱하면 역시 곱한 값이 출력된다.

자료형의 길이 구하기 len 함수

list1=[1,2,3,4,5]
list2=[]

print(len(list1))
>>> 5

print(len(list2))
>>> 0

len 함수는 선언된 자료형의 길이를 구해준다 

사실 문자열형 int형 double형 등 모든 자료형에 사용 가능하다

값은 int형으로 return되고 

공백인 자료형은 0으로 출력된다.

 

삭제 함수 del

list1 = [1,2,3,4,5]
del list1[0:3]

print(list1)
>>> [4,5]

del은 함수다 지정한 값을 삭제해주는데

위에서는 list의 일부를 슬라이싱 해서 범위를 지정한 후 일부만 삭제했다

 

그게 아니라면 del list1 으로 list1의 값을 일괄삭제 할 수도 있다.

list에 값 추가&확장 - append,extend

list1=[1,2,3,4]
list2=[10,11,12]

list1.append(5)
print(list1)
>>> [1,2,3,4,5]

list1.extend([7,8,9])
print(list1)
>>> [1,2,3,4,5,7,8,9]

list1.extend(list2)
print(list2)
>>> [1,2,3,4,5,7,8,9,10,11,12]

append는 list에 값을 추가하는 기능을 한다

extend도 append와 비슷한 기능을 하는 것처럼 보이지만

살짝의 차이가 있다 extend는 확장의 기능을 수행한다.

 

list1에 append를 통해 5를 추가해줬는데

출력하면 1,2,3,4였던 list1 에 1,2,3,4,5로 출력된다.

 

두번째는 list1에 [7,8,9]의 값을 말 그대로 extend(확장) 시켜줬다

그 외에 세번째로 list1을 확장시켜 list2을 삽입해주었다.

list 정렬 - sort, reverse

list1=['a','c','b','d','e']
list1.sort()

print(list1)

>>> ['a','b','c','d','e']

list1.reverse()
print(list1)

>>>['e','d','c','b','a']

sort() 와 reverse()는 각각 정렬, 역순정렬의 기능을 수행한다

 

위치 값 찾기 - index

list1=['i','o','d','e']
print(list1.index('i'))

>>> 0

index 는 list 자료형 내의 위치값을 찾아서 int형 index를 return한다

 

요소 제거 - remove, pop

list1=[1,2,3,4,5]
list1.remove(1)

print(list1)

>>> [2,3,4,5]

list1.pop(2)

>>> 2

print(list1)

>>> [3,4,5]

remove는 list내 요소를 삭제한다 

pop도 remove와 동일한 기능을 수행하는 듯 보이지만 큰 차이점이 있다

remove는 바로 삭제를 진행하는 데 반해 pop은 삭제하려는 값을 return 한 후 삭제를 진행한다

각각 용도에 맞게 사용된다.

300x250

댓글