[Python 독학] 파이썬 자료형 - 리스트 자료형

2021. 6. 22. 09:50Python

리스트형

리스트형이란 List 뜻 그대로

여러 항목을 묶어 놓은 목록 같은 것이다.

[ ]를 사용하여 묶어주고 , 로 구분한다.

리스트명 = [요소1, 요소2, 요소3, …]

 

>>> a = []
>>> b = [1, 2, 3]
>>> c = ['Life', 'is', 'too', 'short']
>>> d = [1, 2, 'Life', 'is']
>>> e= [1, 2, ['Life', 'is']]

물론 리스트 안에 리스트가 들어갈 수도 있다.

 

또한 리스트 역시 인덱싱슬라이싱이 가능하다.

>>> a =[1, 2, 3]
>>> a
[1, 2, 3]

>>> a[0]			# a의 첫 번째 요솟값
1
>>> a[-1]			# a의 마지막 요솟값(= 뒤에서 첫 번째 요솟값)
3
>>> a[0] + a[2]			# a의 첫 번째 요솟값인 1과 세 번째 요솟값인 3의 합
4

a 리스트 안에 리스트가 있는 경우엔 이런 것도 가능하다.

>>> a = [1, 2, 3, ['a', 'b', 'c']]
>>> a[-1]
['a', 'b', 'c']
>>> a[-1][0]
'a'
>>> a[3][2]
'c'

[괄호]를 푸는 순서는 좌측→우측이다.

[-1]먼저 풀면 ['a', 'b', 'c']가 나오고

여기서 [0]을 찾는 것이므로

첫 번째 요솟값인 'a'가 나오는 것이다.

아래 a[3][2]도 마찬가지.

 

다음은 슬라이싱이다.

>>> a = [1, 2, 3, 4, 5]
>>> a[0:2]	# 0번째부터 2번째 미만까지 뽑아내시오
[1, 2]

문자열에서 ""로 넣은 값이 ''로 나온 것과

리스트는 []가 []로 나온다는 점 외엔 방법이 동일하다.

>>> a = [1, 2, 3, 4, 5]
>>> b = a[:2]	# 처음부터 2번째 미만 요솟값까지
>>> c = a[2:]	# 두번째 요솟값부터 끝까지

>>> b
[1, 2]
>>> c
[3, 4, 5]

이외에도 더하기(+), 반복하기(*),

리스트 길이구하기(len함수) 모두 사용법은 동일하다.

더하기
>>> a = [1, 2]
>>> b = [3, 4, 5]
>>> a + b
[1, 2, 3, 4, 5]

반복하기
>>> a = [1, 2]
>>> a * 3
[1, 2, 1, 2, 1, 2]

리스트 길이 구하기
>>> a = [1, 2, 3, 4]
>>> len(a)
4

리스트는 값을 수정, 삭제가 가능하다.

>>> a =[1,2,3]
>>> a[2] = 4
>>> a
[1,2,4]

a[2]가 원래 3이었는데 그걸 4였으면

좋겠다고 입력하자 3자리에 3가 들어갔다.

참고로 삭제는 del 이라는 함수가 필요하다.

>>> a = [1,2,3]
>>> del a[1]
>>> a
[1,3]

>>> a = [1,2,3,4,5]
>>> del a[2:]	# 2번째 요솟값부터 끝까지 삭제
>>> a
[1,2]

 

 

리스트 관련 함수

사실 pop함수같은 걸 제외하곤 엑셀과 거의 비슷해서

조금만 자주 보면 금방 익힐 수 있을 것 같다.

 

추가(append)

>>> a =[1,2,3]
>>> a.append(4)		# 리스트 맨 마지막에 4를 추가
>>> a
[1,2,3,4]

>>> a.append([5,6])
>>> a
[1,2,3,4,[5,6]]

정렬(sort)

>>> a = [1,4,3,2]
>>> a.sort()
>>> a
[1,2,3,4]

>>> b = ['a', 'c', 'b']
>>> b.sort()
>>> b
['a', 'b', 'c']

뒤집기(reverse)

>>> a = ['a', 'c', 'b']
>>> a.reverse()
>>> a
['b', 'c', 'a']

# a[::-1] 혹은 a.sort(reverse=True) 도 가능하다.

위치 반환(index)

>>> a = [1,2,3]
>>> a.index(3)		# 3은 a[2]의 요솟값
2
>>> a.index(1)		# 1은 a[0]의 요솟값
0

만일 0처럼 리스트에 존재하지 않는 값을

찾는 경우(a.index(0))엔 오류가 발생한다.

 

삽입(insert)

>>> a = [1,2,3]
>>> a.insert(0, 4)		# a[0]위치에 4를 삽입
[4,1,2,3]
>>> a.insert(3,5)		# a[3]위치에 5를 삽입
[4,1,2,5,3]

제거(remove)

>>> a = [1,2,3,1,2,3]
>>> a.remove(3)
[1,2,1,2,3]

리스트 안의 모든 3을 제거한 것이 아니라

첫 번째로 나오는 3만 제거한다.

 

요소 끄집어내기(pop)

>>> a = [1,2,3]
>>> a.pop()
3
>>> a
[1,2]

pop()은 리스트의 맨 마지막 요소를

돌려주고 그 요소는 삭제한다.

>>> a = [1,2,3]
>>> a.pop(1)
2
>>> a
[1,3]

만약 pop(1), pop(2)처럼 pop(x)의

x자리에 숫자가 들어간다면

a[x] 요솟값을 끄집어낸다.

 

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

>>> a = [1,2,3,1]
>>> a.count(1)
2

확장(extend)

>>> a = [1,2,3]
>>> a.extend([4,5])
>>> a
[1,2,3,4,5]
>>> b = [6,7]
>>> a.extend(b)
>>> a
[1,2,3,4,5,6,7]