일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 심리상담
- 무료상담교육
- 독서심리치료
- 심리학강의
- 무료심리치료
- 이재연교수
- 문학치료사
- 독서심리
- 미술치료자격증
- 무료상담
- 김호중방송
- 김호중노래
- 심리학교수
- 독서심리지도사자격증
- 독서치료
- 부부심리상담
- 독서치료사자격증
- 그림책심리지도사
- 문학치료
- 독서심리지도사
- 독서심리치료사자격증
- 미술심리치료
- 무료심리상담
- 심리상담사자격증
- 부모교육
- 독서치료사
- 독서심리치료사
- 김천심리상담센터
- 심리학
- 학부모교육
- Today
- Total
심리이모저모
파이썬(Python) 공부하자! - 04 리스트 본문
Key word : 파이썬(Python), 자료구조, 리스트, 리스트 인덱싱, 리스트 슬라이싱
이전까지는 파이썬에서 정수, 실수, 문자열 등의 데이터를 어떻게 다뤄야 할지에 대해 배우면서 '변수'에 대해 공부했습니다. 이번에는 위에서 말한 데이터가 여러 개 있을 때 효과적으로 관리하는 방법, 즉 자료구조에 대해 공부해봅시다. ^^ 리스트(list), 튜플(tuple), 사전(dict) 중에서도 오늘은 리스트(list)를 다뤄볼 것입니다.
1. 파이썬(Python) 공부하자 : 리스트
이제 막 변수에 대해서 공부하고, 간단한 연습문제도 풀어보시면서 여러분은 다음과 네이버의 주가를 저장해 보셨을 것입니다. 하지만 코스피와 코스닥을 합쳐 대략 2000종목 정도의 증권시장에서 여러분이 관심을 가지는 회사가 단 2개라고 할 수 없겠죠. 예를 들어서 다음, 네이버, 삼성전자, LG전자 4개 종목에 관심을 가지고 있다고 한다면 다음과 같이 변수를 만들어서 어떤 종목에 관심을 두는지를 나타낼 수 없겠죠.
하지만 여러분이 관심을 두는 종목이 100개라면 어떻게 해야 될까요?
이를 표현하기 위해 stock1, stock2, stock3, ..., stock99, stock100과 같이 100의 변수명을 사용해야 됩니다. 매우 번거로운 작업이죠.
이런 불편을 해결하고자 파이썬은 리스트(list)라는 자료구조를 제공합니다.
비슷하게 묶을 수 있는 여러 데이터를 한 번에 저장할 수 있기 때문에 변수 명을 여러 개 사용하지 않아도 됩니다. 예를 들어 앞의 예시와 같이 다음, 네이버, 삼성전자, LG전자에 관심을 가진 경우 이를 다음과 같은 리스트로 표현할 수 있죠.
번호 |
종목 |
주가 |
1 |
다음 |
|
2 |
네이버 |
|
3 |
삼성전자 |
|
4 |
LG전자 |
|
이렇게 여러 개의 데이터를 한 번에 저장하고 관리하는 것은 표나 출석부를 만들어 두는 것과 동일한 개념으로 보아도 됩니다. 출석부에서 1번을 호명하면, 1번 학생이 대답하는 것처럼 리스트에 저장된 데이터도 똑같이 '몇 번째 데이터'라고 사용이 가능합니다. 주의해야 될 것은 컴퓨터는 0을 소중히 여기기에 첫 번째 데이터는 1이 아닌 0번째라는 것을 기억하셔야 됩니다.
이제 리스트를 직접 만들어 봅시다.
다음(Daum)의 최근 4일치 종가가 14100, 14600, 144500, 14500원이라고 할 때, 다음과 같이 리스트를 생성하면 종가를 순서대로 저장할 수 있습니다.
그렇다면 리스트를 만들 때는 숫자형 데이터만 가능할까요?
다음을 본다면 문자열과 수의 겸용이 가능하다는 걸 알 수 있으시겠죠?
마지막으로 리스트를 만들 때는 항상 데이터를 채워 넣어야 할까요?
이렇게 말씀 드리는 것을 보면 항상 데이터가 있어야 하는 건 아니라고 유추하셨겠죠?
다음과 같이 빈(empty) 리스트를 만드는 것도 가능합니다.
2. 파이썬(Python) 공부하자 : 리스트 인덱싱
인덱싱, 뭔가 익숙한 단어가 아닌가요?
문자열에서 다뤄본 답어입니다. 리스트 역시 목차, 인덱스 값을 통해 리스트의 값에 접근이 가능한데요.
0을 버리지 않는 컴퓨터에서는 리스트의 인덱스 역시 문자열처럼 "0"부터 시작합니다.
Daum의 주식을 300주 매수하기 전,
종목과 주식 수를 리스트로 표현해 봅시다.
첫 번째 항목은 종목명이 있을 것이고, 두 번째 항목은 주식 수가 될 것입니다.
즉 다음과 같이 사용할 수 있겠죠.
마찬가지로 다음(Daum)의 최근 4일치 종가인 14100, 14600, 14450, 14500원을 리스트로
표현하고 각각의 데이터에 접근하는 경우는 다음과 같습니다.
문자열 인덱싱과 사용법이 크게 다르지 않죠.
그렇다면 뒤쪽부터 순서를 세는 방법도 똑같이 적용할 수 있겠죠?
3. 파이썬(Python) 공부하자 : 슬라이싱
코스피 상위 10종목은 다음과 같습니다.
1 |
삼성전자 |
2 |
SK 하이닉스 |
3 |
삼성전자우 |
4 |
현대차 |
5 |
POSCO |
6 |
Naver |
7 |
LG 화학 |
8 |
KB 금융 |
9 |
삼성바이오로직스 |
10 |
삼성물산 |
이것을 리스트로 표현하면 다음과 같이 표현할 수 있겠죠.
현재 top10이라는 리스트에 10개 종목을 표현했는데, 코스피 상위 5종목을 새로운 리스트로
만들고 싶다면 어떻게 해야 할까요?
물론 단순하게 새로운 리스트를 작성하는 방법도 나쁘지는 않습니다.
하지만 다음과 같이 ㅁ누자열을 슬라이싱 했듯이 리스트를 슬라이싱 한다면 더 간편하게
top5라는 새로운 리스트를 쉽게 만들 수 있겠죠?
슬라이싱 방법은 문자열 슬라이싱과 다르지 않기 때문에 문자열 슬라이싱 연습이
충분하시다면 쉽게 하실 수 있으실 겁니다.
4. 파이썬(Python) 공부하자 : 리스트 데이터 삽입, 삭제
위에서 말씀드린 상위 10종목들의 리스트를 만드는 과정에서 실수로 '삼성물산'을 빠뜨리고
다음과 같이 만들었다고 해봅시다.
그렇다면 리스트를 다시 만드는 방법을 사용하거나, 이미 만들어진 리스트를 수정하는 방법을
찾아야 할 텐데요. 이때 사용하는 것이 바로 append 메서드입니다.
append의 영어 뜻 '추가하다'처럼 리스트에서 append를 사용하면 새로운 데이터를 리스트의
제일 마지막에 추가할 수 있습니다. 다음처럼 말이죠.
하지만 데이터를 모자라게 넣는 경우 외에도 데이터를 더 넣는 실수도 할 수도 있겠죠.
이런 경우에는 del 메서드를 사용하면 되는데요.
다음과 같이 삭제할 데이터의 인덱스를 넣어주면 됩니다.
'IT 공부하자! > Python' 카테고리의 다른 글
파이썬 공부하자 - 05 튜플 (1) | 2018.01.14 |
---|---|
파이썬 공부하자 - 03 변수 연습문제 & 풀이 (0) | 2018.01.13 |
파이썬(Python) 공부하자 - 02 문자열(string) (0) | 2018.01.12 |
파이썬 공부하자! - 01. Anaconda 사용과 변수 (0) | 2018.01.09 |
Python 101 : 파이썬 설치 & Anaconda 설치 (1) | 2018.01.08 |