본문 바로가기

Language/Python

[Python] 리스트 (인덱싱과 슬라이싱, 연산하기, 수정과 삭제)

728x90
반응형

리스트 : 여러 종류의 데이터를 한 곳에 저장하고 참조할 수 있는 데이터 구조

 

리스트 생성하기

리스트명 = [요소1, 요소2, 요소3, ...]
>>> a = []    # a = list()
>>> 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]
1
>>> a[0] + a[2]
4
>>> a[-1]
3

 

- 중첩된 리스트

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

 

리스트 슬라이싱

>>> a = [1, 2, 3, 4, 5]
>>> a[0:2]
[1, 2]
>>> b = a[:2]
>>> c = a[2:]
>>> b
[1, 2]
>>> c
[3, 4, 5]

 

- 중첩된 리스트

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

 


리스트 연산하기

리스트 더하기 (+)

>>> a = [1, 2, 3]
>>> b = [4, 5, 6]
>>> a + b
[1, 2, 3, 4, 5, 6]

 

리스트 반복하기 (*)

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

 

리스트 길이 구하기 - len() 함수

>>> a = [1, 2, 3]
>>> len(a)
3

 

※ 범하기 쉬운 리스트 연산 오류

'숫자 + 문자열' 연산은 에러 발생

'숫자 + 문자열' 연산을 하고자 한다면 숫자를 str() 함수를 이용하여 문자열로 형변환 해야 함

>>> a = [1, 2, 3]
>>> a[2] + "Hi"
TypeError
>>> type(a[2])      # type() 함수는 자료형을 반환
int
>>> type("Hi")
str
>>> type(a)
list
>>> str(a[2]) + "Hi"
'3Hi'

 


리스트 수정과 삭제

리스트에서 값 수정하기

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

 

del 함수 사용해 리스트 요소 삭제하기

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

 

리스트의 요소 여러 개를 한꺼번에 삭제

>>> a = [1, 2, 3, 4, 5]
>>> del a[2:]
>>> a
[1, 2]
728x90
반응형