1) 리스트 생성
내가 좋아하는 게임의 목록을 변수를 통해 저장해보자.
game1 = '리그오브레전드'
game2 = '오버워치'
game3 = '배틀그라운드'
위와 같은 방법으로 좋아하는 게임이 생길 때마다 변수를 새로 만들고 저장하여 관리할 수 있다.
만약 내가 좋아하는 게임이 100가지가 넘는다면 어떻게 될까?
난 변수 100개를 만들고 변수 100개의 값을 얻기 위해 파이썬 프롬프트에 일일이 변수명을 입력할 것이다.
이런 상황에서 빛을 발하는 것이 리스트(list)이다.
좋아하는 게임 목록을 리스트로 만들어보자.
game = ['리그오브레전드', '오버워치', '배틀그라운드']
위와 같은 방법으로 아주 효율적으로 좋아하는 게임의 목록을 리스트에 넣고 관리할 수 있다.
만약 게임의 개수가 100개여도 100개의 변수명을 만드는 것이 아니라 1개의 변수만을 만들면 된다.
리스트를 만들려면 위와 같이 변수를 만들고 '['과 ']' 사이에 데이터를 쉼표로 구분해서 넣기만 하면 된다.
이제 리스트를 만들었다. 이제 리스트의 데이터 값을 불러오기 위해서는 어떻게 해야 할까?
저번에 했던 문자열의 인덱싱과 비슷한 원리로 파이썬 리스트의 인덱스는 0부터 시작한다.
>>>game[0]
'리그오브레전드'
>>>game[2]
'배틀그라운드'
위 코드처럼 리스트에 있는 데이터 값을 불러올 수 있다.
리스트에 '리그오브레전드', '오버워치', '배틀그라운드' 순으로 데이터가 저장됐으므로 'game [0]'이라는 명령어를 입력하면 '리그오브레전드'를, 'game[2]'라는 명령어를 입력하면 '배틀그라운드'를 불러오는 것이다.
참고로 리스트에는 앞의 글에서 소개한 기본 데이터 타입(문자열, 정수, 실수) 모두를 넣을 수 있다.
mygame = []
위와 같이 리스트에 아무 데이터를 넣지 않으면 빈 리스트가 만들어진다.
2) 리스트의 인덱싱
리스트도 문자열과 마찬가지로 양수, 음수 인덱싱 모두 가능하다.
위 사진과 같이 인덱싱을 하여 데이터 값을 불러올 수 있다.
>>>game[-1]
'배틀그라운드'
>>>game[-2]
'오버워치'
>>>game[-3]
'리그오브레전드'
위 코드는 음수를 이용하여 데이터 값을 불러온 예시이다.
3) 리스트의 슬라이싱
내가 좋아하는 음식을 1순위부터 10순위까지 정리해놓은 리스트를 만들어보자.
1순위 : 회
2순위 : 간장게장
3순위 : 소고기
4순위 : 치킨
5순위 : 삼겹살
6순위 : 피자
7순위 : 탕수육
8순위 : 짬뽕
9순위 : 짜장면
10순위 : 갈비 해장국
순위는 정했다. 데이터를 순위에 맞게 정리하여 리스트에 넣어보자.
위 데이터는 순위와 음식 이름으로 구성돼있다. 파이썬의 리스트에는 이미 각 인덱스 자체가 순서를 의미하므로 순위 값은 저장할 필요 없이 1순위부터 10순위까지 순서대로 음식 이름을 리스트에 저장하면 된다.
myfood = ['회', '간장게장', '소고기', '치킨', '삼겹살', '피자', '탕수육', '짬뽕', '짜장면', '갈비 해장국']
이제 리스트를 만들었으므로 손쉽게 내가 좋아하는 음식 목록을 관리할 수 있다.
>>>print("음식 5순위:", myfood[4])
음식 5순위: 삼겹살
>>>
5번째로 좋아하는 음식의 이름을 알고 싶다면 위와 같이 코드를 작성하면 된다.
그럼 1순위부터 5순위까지의 음식 리스트를 생성하여 이름을 알고 싶다면 어떻게 해야 할까?
이때 사용하는 기능이 슬라이싱이다.
>>>myfood_top5 = myfood[0:5]
>>>myfood_top5
['회', '간장게장', '소고기', '치킨', '삼겹살']
>>>
이전 글에서 소개한 문자열의 슬라이싱처럼 리스트의 인덱스를 이용해 위와 같이 코드를 작성하여 쉽게 1순위부터 5순위까지의 음식 리스트를 생성할 수 있다.
쉽게 정리하면 슬라이싱은 "[시작 인덱스: 끝 인덱스]"와 같은 형태로 표현할 수 있다.
이때, 문자열의 슬라이싱처럼 시작 인덱스 또는 끝 인덱스에 해당하는 값에 아무 값도 넣지 않으면 자동으로 리스트의 처음 또는 끝을 인덱싱 해준다.
'파이썬' 카테고리의 다른 글
04/28 파이썬 6 - 튜플과 딕셔너리 (0) | 2020.04.28 |
---|---|
04/27 파이썬 5 - 리스트 데이터 삽입, 삭제 (0) | 2020.04.27 |
04/26 파이썬 3 - 기본 데이터 타입 (0) | 2020.04.26 |
04/24 파이썬 2 - 문자열, 인덱싱, 슬라이싱 (0) | 2020.04.24 |
04/23 파이썬 1 - 변수, 객체, 바인딩 (0) | 2020.04.23 |