官术网_书友最值得收藏!

Dictionaries

Finally, the last data structure that we'll see a lot in Python is a dictionary, and you can think of that as a map or a hash table in other languages. It's a way to basically have a sort of mini-database, sort of a key/value data store that's built into Python. So let's say, I want to build up a little dictionary of Star Trek ships and their captains:

I can set up a captains = {}, where curly brackets indicates an empty dictionary. Now I can use this sort of a syntax to assign entries in my dictionary, so I can say captains for Enterprise is Kirk, for Enterprise D it is Picard, for Deep Space Nine it is Sisko, and for Voyager it is Janeway. Now I have, basically, this lookup table that will associate ship names with their captain, and I can say, for example, print captains["Voyager"], and I get back Janeway.

A very useful tool for basically doing lookups of some sort. Let's say you have some sort of an identifier in a dataset that maps to some human-readable name. You'll probably be using a dictionary to actually do that look up when you're printing it out.

We can also see what happens if you try to look up something that doesn't exist. Well, we can use the get function on a dictionary to safely return an entry. So in this case, Enterprise does have an entry in my dictionary, it just gives me back Kirk, but if I call the NX-01 ship on the dictionary, I never defined the captain of that, so it comes back with a None value in this example, which is better than throwing an exception, but you do need to be aware that this is a possibility:

print (captains.get("NX-01"))

The output of the above code is as follows:

None

The captain is Jonathan Archer, but you know, I'm get a little bit too geeky here now.

主站蜘蛛池模板: 嘉祥县| 合肥市| 通山县| 从江县| 临城县| 芷江| 象州县| 临海市| 河池市| 靖宇县| 东源县| 呼伦贝尔市| 休宁县| 崇州市| 鸡西市| 罗江县| 武定县| 东阳市| 百色市| 汤阴县| 察哈| 万全县| 文登市| 镇坪县| 青田县| 常山县| 清苑县| 东辽县| 宁阳县| 金寨县| 城市| 阿巴嘎旗| 义马市| 平阴县| 类乌齐县| 遵化市| 盐山县| 武山县| 盐池县| 南江县| 蒙城县|