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

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.

主站蜘蛛池模板: 汉川市| 肇源县| 睢宁县| 利川市| 宜君县| 平罗县| 普格县| 休宁县| 扎兰屯市| 买车| 微山县| 吴堡县| 厦门市| 鞍山市| 方山县| 麦盖提县| 东海县| 六枝特区| 昌平区| 浠水县| 开江县| 柯坪县| 密山市| 长兴县| 平武县| 泸水县| 平湖市| 白朗县| 金昌市| 太白县| 精河县| 济阳县| 潢川县| 商水县| 宁化县| 徐州市| 江华| 白沙| 双流县| 隆回县| 舞钢市|