#참고 출처
#튜플
튜플과 리스트의 차이점
1) 튜플은 '(' 와 ')' 사용한다.
2) 리스트 내의 원소를 변경할 수 없다.
, 즉 list[0] = 'change' 할 수 없다.
1) 튜플 슬라이싱 [:]
튜플은 ()을 사용해서 슬라이딩도 (:) 으로 사용할거라고 생각하는데, 리스트와 똑같이 [ : ] 를 사용한다.
#딕셔너리
여태까지 리스트와 튜플에 종목이라는 하나의 데이터를 저장했지만, 연관된 데이터 저장하지는 못했다
우리는 이제 딕셔너리를 배우고 연관된 데이터도 함께 저장해보도록 합시다.
먼저, 딕셔너리는 [ ] 도 아니고 ( ) 도 아닌 { } 로 표현할 수 있다.
내장함수 type을 이용해서 유형이 딕셔너리가 맞는지 확인해보자.
현재가 = {}
type(현재가)
>>dict
dict는 dictionary의 준말 표현이다. 이제 데이터를 넣어보자
현재가['삼성전자'] = 56200
현재가
>> {'삼성전자': 56200}

분명 list[] = ' ' 라고 작성하면 인덱싱 0~리스트 길이 만큼 위치를 찾은 다음 그 데이터를 바꾼다.
하지만 딕셔너리는 dict[key] = value 라는 한 쌍으로 저장하는 것이다. 리스트에서는 오류가 난 걸 볼 수 있다.
다음 LG에너지 솔루션을 추가해보자.
현재가['LG에너지솔루션'] = 482500
현재가
>> {'삼성전자': 56200, 'LG에너지솔루션': 482500}
여기서 알아야 할 것은 딕셔너리는 리스트 튜플과 달리 인덱싱을 지원하지 못한다.
why? 딕셔너리는 순서대로 저장하는 것이 아니라 데이터 쌍을 서로 연결만 시키는 기능이기 때문이다.

1) 딕셔너리 데이터 삽입 및 삭제
다음은 SK하이닉스 현재가를 삽입하고 삭제해보자.
딕셔너리는 리스트의 append나 insert 같은 메서드를 지원하지 않으며, 명시적으로 키-값 쌍을 넣어야한다.
현재가['SK하이닉스'] = 91200
현재가
>> {'삼성전자': 56200, 'LG에너지솔루션': 482500, 'SK하이닉스' = 91200}
삭제는 마찬가지로 del을 이용하면 삭제할 수 있다.
대신 키만 넣으면 된다.
del 현재가['SK하이닉스']
현재가
>> {'삼성전자': 56200, 'LG에너지솔루션': 482500}
value 값하고 같이 지워 진 것을 확인 할 수 있다.
2) 딕셔너리로부터 키-값 구하기
앞에서 딕셔너리의 데이터 값 (키와 값)을 넣었다. 그러면 우리는 키값(종목)만 불러오고 싶을 때가 있고, 값(현재가)만 불러오고 싶어질 때가 있을 것이다. 그때 제공하는 것이 keys(), values() 라는 메서드이다.
먼저 키값을 불러와보자
현재가.keys()
>> dict_keys(['삼성전자', 'LG에너지솔루션', 'SK하이닉스'])
입력하면 리스트도 아닌 것이 튜플도 아닌 것이 알 수 없다. 말 그대로 리스트값도 아닌 type(현재가.keys()) 는 dict_keys 라는 것을 알 수 있다. 즉, 리스트로 바꿀려면 list(현재가.keys()) 값으로 바꾸어야 한다.
마찬가지로 list(현재가.values()) 값으로 표현하면 키와 값을 리스트로 변환할 수 있다.


이번엔 딕셔너리 내에 키 데이터가 있는가라는 것을 어떻게 확인할까 라는 궁금증이 생길 수 있다.
in을 통해서 확인이 가능하다.
'SK하이닉스' in 현재가.keys()
>> True
딕셔너리 내에 있는 키값이면 True로 반환 할 것이며, 그렇지 않으면 False로 반환 할 것이다.
'Python' 카테고리의 다른 글
| 주식 알고리즘 만들기 - 3. 제어문 ( for , while 문) (2) | 2022.10.08 |
|---|---|
| 주식 알고리즘 만들기 - 3. 제어문 ( boolean, 논리 연산자 , if) (0) | 2022.10.08 |
| 주식 알고리즘 만들기 - 2. 자료구조 (연습 문제) (0) | 2022.10.08 |
| 주식 알고리즘 만들기 - 2. 자료구조 (리스트) (0) | 2022.10.08 |
| 주식 알고리즘 만들기 - 1. 문자열 (0) | 2022.10.07 |