[Python 자료형 - 2] 리스트(list)와 유용한 함수 활용 방법 정리

지난 시간에는 숫자와 문자에 대해 알아보았습니다. 오늘은 자료형 중에서도 리스트(list), 듀플(tuple)에 대해서 알아보도록 하겠습니다. 

 

리스트(list)

리스트는 파이썬에서 숫자형이든 문자형이든 여러개의 값들을 담을 수 있는 순차적인 자료 구조 입니다. 리스트의 장점으로는 다양한 자료형을 담고 그 안의 요소를 편리하게 추가, 삭제 및 수정할 수 있습니다. 

 

리스트는 다음과 같이 간단하게 표현할 수 있습니다.

a = [] # 빈 리스트
b = [1, 2, 3, 4, 5] # 숫자
c = ['sports', 'science', 'is' 'important'] # 문자
d = ['sports', 'is', 4, 5] # 숫자 + 문자
e = [['sporrts', 'is'], 4, 5] # 숫자 + 문자(리스트 안에 리스트)

 

리스트 안에 있는 자료들은 인덱싱과 슬라이싱을 할 수 있습니다. 관련 내용은 아래 링크 참고해주세요.

https://medisports.tistory.com/entry/Python-str-float-int

 

[Python 파이썬 자료형 - 1] 숫자형(int, float) 및 문자형(str)

파이썬을 사용하기 이전에 코드를 입력하기 위해 다양한 자료형 타입이 존재합니다. 이번 시간에는 파이썬 자료형 타입에서 기본이 되는 정수(integer) 및 실수(float)의 숫자형과 그리고 문자형 (s

medisports.tistory.com

 

인덱싱

 

인덱싱을 할 때 첫번째 요소를 꺼내오기 위해서는 0을 입력해야합니다. 뒤에서 부터 인덱싱을 하기 위해서는 -1을 사용하게 됩니다. 리스트 안에 리스트 요소가 있다면, 두 개의 [ ] [ ]를 사용해서 앞에것은 밖의 리스트, 뒤에는 안에 있는 리스트의 위치를 입력하게 됩니다.  

# 숫자 인덱싱
>>> a = [1, 2, 3, 4, 5]
>>> a[0] 
1
>>> a[-1]
5

# 문자 인덱싱
>>> c = ['sports', 'science', 'is' 'important']
>>> c[0]
sports

# 리스트 안의 리스트
>>> e = [['sports', 'is'], 4, 5] 
>>> e[0][0]
'sports'
>>> e[0][1]
'is'

 

슬라이싱

 

슬라이싱은 '잘라낸다'라는 의미입니다. 따라서, 리스트 안에서 잘라내기 원하는 범위를 지정하게 됩니다. 범위는 처음 요소가 0, 가장 뒤는 n-1 번으로 계산하여 지정합니다. 아래 코드를 보시면 이해가 편하실 것입니다. 

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

 

리스트 연산

 

리스트 안에 있는 요소들은 숫자든 문자든 연산이 가능합니다.

# 리스트의 덧셈
>>> a = [1, 2, 3]
>>> b = ['a', 'b', 'c']
>>> a + b
[1, 2, 3, 'a', 'b', 'c']

# 리스트의 곱셈
>>> a * 2
[2, 4, 6]
>>> b * 2
['a', 'b', 'c', 'a', 'b', 'c']

 

리스트 수정 및 삭제 (del)

 

리스트의 값을 인덱싱을 활용해서 수정할 수 있으며, del 함수를 통해 삭제도 가능합니다. 

# 리스트 값 수정
>>> a = [1, 2, 3, 4, 5]
>>> a[5] =9
>>> a = [1, 2, 3, 4, 9]

# 리스트 값 삭제
>>> a = [1, 2, 3, 4, 5]
>>> del a[3]
>>> a
[1, 2, 4, 5]

# 슬라이싱 활용한 값 삭제
>>> del a[:2]
>>> a
[4, 5]

 

리스트 길이 구하기 (len)

 

len 함수를 활용해서 리스트의 길이를 구할 수 있습니다.

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

 

리스트에 요소 추가 (append)

 

append는 리스트에 요소를 추가할 때 활용 됩니다. 특히, for 문과 같이 반복문을 활용하면서 새로운 값들을 집어 넣기 위해 자주 활용합니다.

# append
>>> a = [1, 2, 3, 4, 5]
>>> a.append(6)
>>> a
[1, 2, 3, 4, 5, 6]
>>> a.append([7, 8])
>>> a
[1, 2, 3, 4, 5, 6, [7, 8]]

# 빈리스트에 append 활용
>>> result = [] # 빈 리스트 생성
>>> for i in range(10):
>>> 	result.append(i)
>>> print(result)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

 

리스트 정렬 (sort)

 

sort는 리스트 안의 요소를 차례대로 정렬해 줍니다.

# 숫자 sort
>>> a = [1, 4, 5, 2, 3]
>>> a.sort()
>>> a
[1, 2, 3, 4, 5]

# 문자 sort
>>> b = ['a', 'd', 'c', 'b', 'e']
>>> b.sort()
>>> b
['a', 'b', 'c', 'd', 'e']

 

리스트 요소 뒤집기 (reverse)

 

리스트 안에 요소는 reverse()와 슬라이싱을 활용해서 역순으로 뒤집어 줍니다.

# 1. reverese() 활용한 숫자 뒤집기
# 숫자 뒤집기
>>> a = [1, 2, 3, 4, 5]
>>> a.reverse()
>>> print(a)
[5, 4, 3, 2, 1]

# 문자 뒤집기
>>> b = ['a', 'b', 'c', 'd', 'e']
>>> b.reverse()
>>> print(b)
['e', 'd', 'c', 'b', 'a']

# 2. 슬라이싱을 활용한 숫자 뒤집기
# 숫자 뒤집기
>>> a = [1, 2, 3, 4, 5]
>>> print(a[::-1])
[5, 4, 3, 2, 1]

# 문자 뒤집기
>>> b = ['a', 'b', 'c', 'd', 'e']
>>> print(b[::-1])
['e', 'd', 'c', 'b', 'a']

 

리스트 요소 인덱스 반환 (index)

 

index를 활용해서 선택한 값이 리스트 안에 있으면 그 값이 몇 번째에 위치하는지 알 수 있습니다.

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

 

 

  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유