练习39--字典、可爱的字典

一 字典的理解

1 概念:字典(也叫 dict)是一种和列表类似的数据存储方式。但是不同于列表只能用数字获取数据,字典可以用任何东西来获取。你可以把字典当成是一个存储和组织数据的数据库。

2 和列表的区别:

  • 我们只能用数字来取出列表中的元素。
  • 字典能让你用几乎所有的东西(字符串、数字,必须是可哈希的),而不只是数字。是的,字典能够把一个东西和另一个东西关联起来,不管它们是什么类型。
  • 列表是元素的有序排列。而字典是把一些元素(称为“键”,keys)和另一些元素(称为“值”,values)匹配起来
  • 我能用字典做什么? 当你需要用一个东西去查另一个东西的时候。其实,你可以把字典称为“查询表”(look up tables)。
  • 我能用列表做什么? 可以用于任何有序排列的东西,同时你只需要用数字索引来查找它们

3 字典的其它内容见网址:https://www.cnblogs.com/luoxun/p/13356547.html

二 代码

ex39.py

 1 # -*- coding:utf-8 -*-
 2 
 3 # create a mapping of state to abbreviation  创建一个州名到缩写的映射
 4 states = {
 5     'Oregon':'OR',                 # 俄勒冈州
 6     'Florida':'FL',                # 佛罗里达州(美国)
 7     'Califoria':'CA',              # 加利福尼亚州
 8     'New York':'NY',               # 纽约
 9     'Michigan':'MI'                # 密歇根
10 }
11 
12 # create a basic set of states and some cities in them
13 cities = {
14     'CA':'San Francisco',          # 圣弗朗西斯科
15     'MI':'Detroit',                # 底特律
16     'FL':'Jacksonville'            # 杰克逊维尔
17 }
18 
19 # add some more cities
20 cities['NY'] = 'New York'
21 cities['OR'] = 'Portland'          # 波特兰
22 
23 # printt some states
24 print('-' * 10)
25 print("Michigan's abbreviation is:", states['Michigan'])
26 print("Florida's abbreviation is:",states['Florida'])
27 
28 # do it by using the state then cities dict
29 print('-'*10)
30 print("Michigan has:",cities[states['Michigan']])
31 print("Florida has:",cities[states['Florida']])
32 
33 # print every city in state
34 print('-' * 10)
35 for abbrev,city in list(cities.items()):
36     print(f"{abbrev} has the city {city}")
37 
38 # now do both at the same time
39 print('-' * 10)
40 for state,abbrev in list (states.items()):
41     print(f"{state} state is abbreviated {abbrev}")
42     print(f"and has city {cities[abbrev]}")
43 
44 print('-' * 10)
45 # safely get a abbreviation by state that might not be there
46 state = states.get('Texas.')
47 
48 if not state:
49     print("Sorry,no Texas.")
50 
51 # get a city with a default value
52 city = cities.get('TX','Does Not Exit')
53 print(f"The city for the state 'TX' is: {city}")

运行结果

 1 PS E:\6_AI-Study\1_Python\2_code_python\02_LearnPythonTheHardWay> python ex39.py
 2 ----------
 3 Michigan's abbreviation is: MI
 4 Florida's abbreviation is: FL
 5 ----------
 6 Michigan has: Detroit
 7 Florida has: Jacksonville
 8 ----------
 9 CA has the city San Francisco
10 MI has the city Detroit
11 FL has the city Jacksonville
12 NY has the city New York
13 OR has the city Portland
14 ----------
15 Oregon state is abbreviated OR
16 and has city Portland
17 Florida state is abbreviated FL
18 and has city Jacksonville
19 Califoria state is abbreviated CA
20 and has city San Francisco
21 New York state is abbreviated NY
22 and has city New York
23 Michigan state is abbreviated MI
24 and has city Detroit
25 ----------
26 Sorry,no Texas.
27 The city for the state 'TX' is: Does Not Exit
posted @ 2020-07-25 16:14  洛兰123  阅读(189)  评论(0编辑  收藏  举报