티스토리 뷰
딕셔너리(Dictionary)
dic = { key1:value1, key2:value2, ...}
# key, value 값을 갖는 자료구조 -> 빠른 입력과 출력
# list in R = Python dictionary
# Dictionary 생성
>>> fruits = {'이름':'사과', '가격':2000, '수량':10}
>>> fruits
{'이름': '사과', '가격': 2000, '수량': 10}
>>> type(fruits)
<class 'dict'>
# 새로운 key:value 삽입
>>> fruits['크기'] = '중'
>>> fruits
{'이름': '사과', '가격': 2000, '수량': 10, '크기': '중'}
# 수정
>>> fruits['크기'] = ['중','소'] # 리스트로도 수정 가능
>>> fruits
{'이름': '사과', '가격': 2000, '수량': 10, '크기': ['중', '소']}
# 삭제
>>> del(fruits['크기'])
>>> fruits
{'이름': '사과', '가격': 2000, '수량': 10}
# 색인
>>> fruits['이름']
'사과'
>>> fruits['당도'] # 없는 키 호출 시 Error return
KeyError: '당도'
>>> fruits.get('이름')
'사과'
>>> fruits.get('당도') # 없는 키 호출 시 공백 return
(공백)
# Key 검색
>>> '이름' in fruits
True
>>> '당도' in fruits
False
# Key 확인
>>> fruits.keys()
dict_keys(['이름', '가격', '수량'])
>>> list(fruits.keys()) # 리스트처럼 출력
['이름', '가격', '수량']
# Value 확인
>>> fruits.values()
dict_values(['사과', 2000, 10])
>>> list(fruits.values()) # 리스트처럼 출력
['사과', 2000, 10]
# Dictionary 내용 확인
>>> fruits.items()
dict_items([('이름', '사과'), ('가격', 2000), ('수량', 10)])
>>> list(fruits.items()) # 리스트처럼 출력
[('이름', '사과'), ('가격', 2000), ('수량', 10)]
Q.
l1=['345-4958','334-0948','394-9050','473-3853']
l2=['서울','경기','부산','제주']
area_no={'서울':"02",'경기':"031",'부산':"051" ,'제주':"064"}
phone = []
sol 1) for문 zip 사용
for i,j in zip(l1,l2) :
phone.append(area_no.get(j) + ')' + i)
print(phone)
sol 2) 기본 for문
for i in range(0,4) :
phone.append(area_no.get(l2[i]) + ')' + l1[i])
print(phone)
sol 3) lambda식 사용
>>> ff = lambda x, y : area_no.get(y) + ')' + x
>>> list(map(ff, l1, l2))
================ RESTART: D:/Aaron/Q.py ================
['02)345-4958', '031)334-0948', '051)394-9050', '064)473-3853']
'Python > Process' 카테고리의 다른 글
[Python] Numpy 배열(생성, 색인, 연산 ..) (0) | 2019.02.01 |
---|---|
[Python] 모듈(Module), 패키지(package) (0) | 2019.01.29 |
[Python] 튜플(tuple) (0) | 2019.01.28 |
[Python] 리스트 메서드 (list method) (0) | 2019.01.25 |
[Python] 리스트 (list) (0) | 2019.01.25 |