- Hands-On Data Science and Python Machine Learning
- Frank Kane
- 327字
- 2021-07-15 17:15:02
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.
- C# 7 and .NET Core Cookbook
- React Native Cookbook
- 嚴密系統設計:方法、趨勢與挑戰
- 零基礎Java學習筆記
- D3.js By Example
- Xcode 6 Essentials
- GitHub入門與實踐
- Natural Language Processing with Python Quick Start Guide
- QPanda量子計算編程
- 測試架構師修煉之道:從測試工程師到測試架構師
- Learning Kotlin by building Android Applications
- Android嵌入式系統程序開發(基于Cortex-A8)
- Microsoft Dynamics GP 2013 Cookbook
- C語言程序設計教程
- 前端架構設計