나의 공부 일기

Python) 리스트(list) 1/2 본문

파이썬/Collection

Python) 리스트(list) 1/2

곽병권 2023. 10. 16. 09:53
728x90

 

 

저번 변수의 데이터타입(Data type)에 list,tuple,dictionary,set이 있다고 했었는데 

이런 데이터 타입들은 Collection 이라고 합니다.

 

이 중 먼저 리스트 자료형에 대해 정리해보겠습니다.

 

리스트 자료형은 여러 종류의 데이터를 순차적으로 나열한 형태로 관리하는 자료형입니다.

리스트는 대괄호로 묶고 각 요소는 , 를 통해 구분합니다.

 

리스트를 생성하는 가장 기본적인 방법입니다.

  1. 리스트이름 = [요소1, 요소 2, 요소 3.....]
  2. 리스트이름 = list()

 

 

1번은 그 리스트이름에 요소들만큼 전부 들어가고, 2번 방법은 빈 리스트를 생성해 줍니다.

 

리스트에 리스트도 넣을 수 있습니다.

리스트에 리스트를 넣으면 [ [ ], [ ] ]  이런 형식으로 만들어지는데, 이를 우리는 2차원 리스트라고 합니다.

리스트 안에 리스트 안에 리스트가 들어가면 3차원 리스트 이런 식으로 늘어나게 됩니다.

 

 

 

 

리스트(list)에도 문자열(str)처럼 list indexing이라는 것이 있습니다.

문자열과 마찬가지로 인덱스 위치를 0부터 매깁니다.

뒤에서부터 인덱스를 호출하고 싶으면 맨뒤가 -1 그다음 -2 이런 식으로 이루어져 있습니다.

 

 

 

ex) lst [1,2,3,4]가 있을 때 lst [0] 은 1이 출력됩니다.

lst [-1] 은 맨 마지막을 호출하는 것이므로 4가 출력됩니다.

lst = [1,2,3,4]

print(lst[0])
print(lst[-1])
1
4

2차원 리스트를 호출하는 것도 비슷합니다.

 

만약 2차원 리스트 lst [1,2, [3,4]] 가 있다면 lst [][] 이런 형식으로 호출을 해야 합니다.

1을 호출하고 싶다면 lst [0], 2를 호출하고 싶자면 lst [1]이지만

그 뒤에 인덱스인 3,4를 호출하고 싶다면 각각 lst [2][0], lst [2][1]를 해줘야 합니다.

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

lst[0]      =>    1
lst[1]      =>    2
lst[2][0]  =>    3   
lst[2][1]  =>    4

 

 

만약에 lst [1,2, [3,4]] 에서 list [2]만 호출하면 어떻게 될까요?

 

 

 

바로 [3,4] 이렇게 []에 묶인 형태로 두 개 전부 호출이 됩니다.

lst[2]  =>  [3, 4]
 

이런 식으로 말이죠

 

 

리스트의 길이(크기)

리스트의 길이(크기)를 구하라면 len() 함수를 사용해야 합니다.

 

위에서 사용했던 lst [1,2, [3,4]]를 이용해서 이 리스트의 길이를 구해보겠습니다.

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

print(len(lst))
 
-----결과-----
3

이런 결과를 가져오게 됩니다. [] 안에 숫자들은 하나의 숫자로 인식하여 3이라는 값을 출력한 것이죠

 

뒤에 있는 [3,4]의 길이를 알고 싶다면 아까 lst [2]를 이용하여 [3,4]를 출력한 거처럼 

len(lst [2]) 를 한다면 [3,4]의 길이인 2를 출력하게 됩니다.

 

 

문자열(str)에도 인덱싱(indexing)과 슬라이싱(slicing)이 있었듯이 마찬가지로 리스트에도 슬라이싱이 있습니다.

문자열과 똑같이 리스트의 특정 범위의 값들만 출력하거나 수정하고 싶을때 사용할 수 있습니다.

lst = [1,2,3,4]

lst[0:2] = 100,200

print(lst)
 
------결과------
[100, 200, 3, 4]

 

 

 

이런식으로 굳이 슬라이싱을 할 필요는 없지만 특정 범위에 추가도 할 수 있습니다.

lst = [1,2,3,4]

lst[1:2] += 100,200

print(lst)
 
-----결과-----
[1, 2, 100, 200, 3, 4]

 

 

 


 

글이 길어져서 다음에 이어서 리스트 관련 함수(추가,삭제,정렬 등등...)에 대해 정리해보겠습니다.

728x90

'파이썬 > Collection' 카테고리의 다른 글

Python) 셋(Set)  (0) 2023.10.17
Python) 딕셔너리(Dictionary)  (1) 2023.10.16
Python) 튜플(tuple)  (0) 2023.10.16
Python) 리스트(list) 2/2  (0) 2023.10.16