• 练习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-Study1_Python2_code_python2_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
  • 相关阅读:
    (转)卡特兰数
    fatal error LNK1123: 转换到 COFF 期间失败
    cocos2dx 中文乱码问题
    c++ primer查漏补缺(一)命名空间
    Centos 7 二进制部署高可用Kubernetes v1.17.x
    hostAliases给pod增加域名解析
    常用的清理 Kubernetes 集群资源命令
    Kubernets 污点与容忍
    Docker 常用命令大全
    Kubernets健康检查——配置存活、就绪和启动探测器
  • 原文地址:https://www.cnblogs.com/luoxun/p/13377111.html
Copyright © 2020-2023  润新知