본문 바로가기

Programming/Python 업무 자동화

1. 변수(2) - 파이썬 기본 자료형 / 리스트, 튜플 [1]

 

 

 

○ 리스트

 

리스트는 배열과 비슷한 형태이고, 데이터의 모음을 담기 위한 자료형입니다. 데이터 추가, 삭제, 수정이 가능하며 중복된 데이터도 넣을 수 있고 하나의 리스트에 다양한 데이터 자료형을 넣을 수 있습니다. 그리고 이 요소들을 인덱싱으로 다루는 것도 가능합니다. 

 

a = [0, 123, 'string', 0, 1.1]
a = []

 

 

● 리스트의 연산

 

리스트간의 더하기는 리스트를 연결해 하나의 리스트로 만드는 역할을 합니다.

 

a = [1,2,3]
b = [6,7,8]
c = a + b   
print(c)    

# [1, 2, 3, 6, 7, 8]

 

 

리스트의 곱셈은 리스트를 반복하게 만드는 역할을 합니다. 

 

a = [1,2,3]
b = a * 3
print(b)    

# [1, 2, 3, 1, 2, 3, 1, 2, 3]

 

 

 


 

 

 

● 리스트의 인덱싱, 슬라이싱

 

리스트에서의 인덱싱은, 잘 알다시피 인덱스를 이용해 '특정 값 하나'를 가리키는 것을 의미합니다.

 

a = [1, 'nozero', 123, 'slope']
print(a[0])
print(a[1])
# 1
# nozero

 

 

슬라이싱은 인덱스 넘버에 범위를 지정하는 것을 의미하죠. 여러개의 값을 가리킵니다.

 

a = [1, 'nozero', 123, 'slope', 999, 000]
print(a[:3])
print(a[1:4])
print(a[:4])
print(a[2:])

# [1, 'nozero', 123]
# ['nozero', 123, 'slope']
# [1, 'nozero', 123, 'slope']
# [123, 'slope', 999, 0]

 

 

주의할 점은, 끝나는 인덱스 넘버는 포함되지 않는다는 점입니다. 시작 인덱스의 경우에는 포함되므로 주의해야 합니다.

 

 

 

● 리스트 내의 리스트

 

리스트의 요소로서 리스트가 사용될 수도 있습니다. 해당 인덱스를 출력하면 아래와 같이 리스트 자체가 출력되는데, 여기서 a[0][1] 형태로 해당 리스트의 개별 요소를 출력할 수도 있습니다. 

 

a = [0, ['123', 'nozero'], [0, 123, 456]]
print(a[0])
print(a[1])
print(a[1][0])
print(a[2][1])

# 0
# ['123', 'nozero']
# 123
# 123

 

 

 


 

 

● 인덱싱으로 삭제하기

 

리스트는 인덱싱을 이용해 요소 삭제가 가능합니다. del 함수를 사용하는데, 참고로 튜플은 수정이 불가하기 때문에 이와 같은 방법으로 삭제가 불가합니다. 

 

data = ['nozero', 'slope', 999, 123]
print(data)
del(data[0])
print(data)

# ['nozero', 'slope', 999, 123]
# ['slope', 999, 123]