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

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.

主站蜘蛛池模板: 基隆市| 同德县| 监利县| 昌乐县| 依兰县| 任丘市| 营山县| 沂源县| 陆川县| 阿城市| 深泽县| 古蔺县| 买车| 万州区| 威信县| 凭祥市| 武城县| 长海县| 沂源县| 亚东县| 天气| 温泉县| 石棉县| 易门县| 久治县| 秀山| 永年县| 康保县| 彭阳县| 双柏县| 安仁县| 玉林市| 肥西县| 抚宁县| 石林| 武隆县| 萝北县| 宾阳县| 固原市| 营口市| 普兰县|