원문 : http://learnpythonthehardway.org/book/ex39.html
python 에는 Dictionary라는 놈이 있다. 간단히 이야기하면 Key : Value 형태로 데이터를 입력하는 Map 같은 놈이다.
사용 양식은
stuff = {'name': 'Zed', 'age': 36, 'height': 6*12+2}
뭐 이런식으로 사용 할 수 있다.
예제 코드를 통해 좀더 알아보자 (ex39.py)
# create a mapping of state to abbreviation states = { 'Oregon': 'OR', 'Florida': 'FL', 'California': 'CA', 'New York': 'NY', 'Michigan': 'MI' } # create a basic set of states and some cities in them cities = { 'CA': 'San Francisco', 'MI': 'Detroit', 'FL': 'Jacksonville' } # add some more cities cities['NY'] = 'New York' cities['OR'] = 'Portland' # print out some cities print '-' * 10 print "NY State has: ", cities['NY'] print "OR State has: ", cities['OR'] # print some states print '-' * 10 print "Michigan's abbreviation is: ", states['Michigan'] print "Florida's abbreviation is: ", states['Florida'] # do it by using the state then cities dict print '-' * 10 print "Michigan has: ", cities[states['Michigan']] print "Florida has: ", cities[states['Florida']] # print every state abbreviation print '-' * 10 for state, abbrev in states.items(): print "%s is abbreviated %s" % (state, abbrev) # print every city in state print '-' * 10 for abbrev, city in cities.items(): print "%s has the city %s" % (abbrev, city) # now do both at the same time print '-' * 10 for state, abbrev in states.items(): print "%s state is abbreviated %s and has city %s" % ( state, abbrev, cities[abbrev]) print '-' * 10 # safely get a abbreviation by state that might not be there state = states.get('Texas', None) if not state: print "Sorry, no Texas." # get a city with a default value city = cities.get('TX', 'Does Not Exist') print "The city for the state 'TX' is: %s" % city
알 수 있는 내용
1. dict 의 선언은 d = {"key" : "value", "k2" : "val2", ...} 형식으로 한다.
2. 특정 key의 value를 알고 싶을 때는 d[key] 하면 된다.
3. for key, value in d.items(): 형태로 사용 할 수 있다.
4. v = d.get(key, "값이 없을때") 형태로 사용할 수 있다. (sql에 nvl 같은 기능)
반응형
'Python > Python 어렵게 배우기' 카테고리의 다른 글
Python 어렵게 배우기 - Exercise 41: Learning To Speak Object Oriented (0) | 2014.02.10 |
---|---|
Python 어렵게 배우기 - Exercise 40: Modules, Classes, and Objects (0) | 2014.02.04 |
Python 어렵게 배우기 - Exercise 38: Doing Things To Lists (0) | 2014.01.06 |
Python 어렵게 배우기 - Exercise 37: Symbol Review (0) | 2014.01.03 |
Python 어렵게 배우기 - Exercise 36: Designing and Debugging (0) | 2014.01.03 |