Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
Tags
- seq
- c()
- 데이터 타입
- 스크래핑
- R 개요
- Data Structure
- TXT
- REP
- R 기초
- CSV
- 네이버 영화 댓글
- data frame
- Crawling
- 데이터 입출력
- vector 비교
- vector 연산
- 문자열처리
- 데이터 타입의 우선순위
- :
- 연습문제
- scraping
- 함수
- length
- 변수 선언
- factor
- stringr
- working directory
- Names
- 정규표현식
- ROTTEN TOMATOES
Archives
- Today
- Total
study blog
Python 자료구조 2 - Mapping type(dict) 본문
Mapping type(dict)
- dict
{key1:value1, key2:value2, ...} 형태
a = {"name":"홍길동","age":30} #JSON과 완전히 동일
print(type(a)) # <class 'dict'>
- key와 value의 쌍으로 표현되는 자료구조
- key값은 불변의 값을 사용해야 함! (문자열 등)
- list는 key로 사용할 수 없음! (리스트 안의 요소를 변경할 수 있기 때문에)
- tuple은 key로 사용할 수 있음! (불변)
1. dict 기본
# dict에 값 입력
a[10]="hohoho" # a가 리스트면 11번째 방에 hohoho넣어라
# 10 : key , hohoho: value
print(a) # {'name': '홍길동', 'age': 30, 10: 'hohoho'}
a["hobby"]="Game"
print(a) # {'name': '홍길동', 'age': 30, 10: 'hohoho', 'hobby': 'Game'}
# dict의 key값으로 value 호출
print(a["age"]) # 30
# 동일한 키가 2개일 경우 → 동일한 키 사용하면 안됨
a = {"name":"홍길동", "age":30, "age":40}
print(a) # {'name': '홍길동', 'age': 40} # 하나가 무시됨
# dict 내에 tuple을 key값으로
a = {"name":"홍길동",("address",):"서울"}
print(a) # {'name': '홍길동', ('address',): '서울'}
print(a[("address",)]) # 서울 (key값으로 value 호출)
2. dict의 함수
① a.keys() : 해당 dict의 key 가져옴
- dict_keys 자료구조로 리턴
- list와 유사한 자료구조
a = {"name":"홍길동","age":20,"address":"서울"}
myKey = a.keys()
print(myKey) # dict_keys(['name', 'age', 'address']) -> 리스트 아님 but 리스트처럼 생긴 자료구조
② a.values() : value 가져옴
myVal = a.values()
print(myVal) # dict_values(['홍길동', 20, '서울'])
print(list(myVal)) # ['홍길동', 20, '서울']
③ a.items() : key-value 쌍을 튜플로 가져옴
myItem = a.items()
print(myItem) # dict_items([('name', '홍길동'), ('age', 20), ('address', '서울')])
[연습문제] dict 안에 있는 모든 key와 value를 출력하시오.
# for문을 이용해서
for k in a.keys():
print("{}-{}".format(k, a[k])) # 문자열 format 잡아서 출력 앞의 {} : k, 뒤의 {}: a[k]
print("hohoho") # for문 안에 있는 것 아니므로 1번밖에 안나옴.
print("age" in a) # 특정 key값이 a에 있는지 확인. # True # value 아님!
'Python > 2. built in types' 카테고리의 다른 글
Python 자료구조 3 - set (0) | 2020.01.26 |
---|---|
Python 자료구조 1 - Sequence type(list, tuple, range) (0) | 2020.01.23 |
Python 내장 데이터 타입 - numeric, text, bool (0) | 2020.01.23 |
Comments