• 小甲鱼Python第025讲字典:当索引不好用时 | 课后测试题及参考答案


    测试题:

    0.当你听说小伙伴们再讨论“映射”、“哈希”、“散列”或者“关系数组”的时候,事实上他们在讨论什么呢?

      字典

    1、尝试一下将数据(‘F’:70,“C”:67,“H”:104,“I”:105,“S”:115)创建为一个字典并访问键“C”对应的值是?

     1 #元组-->字典
     2 tuple1 = tuple((('F',70),('c',67),('H',104)))
     3 print(tuple1)
     4 dict2 = dict(tuple1)
     5 print(dict2)
     6 # 正常
     7 dict1 =dict((('F',70),('c',67),('H',104)))
     8 print(dict1)
     9 dict1_c = dict1["c"]
    10 print(dict1_c)

    2、用方括号(“[]”)括起来的数据我们叫列表,那么使用大括号(“{}”)括起来的数据我们就叫字典,对吗?

      我以为对,结果不对。

    set--集合

    1 dict1 = {1,2,3,4,5}
    2 print(type(dict1))
    3 #字典,键值对,映射关系
    4 dict2 = {1:"one",2:"two"}
    5 print(type(dict2))

    3、你如何理解有些东西字典做得到,但“万能的”列表却难以实现呢?

    1 brand = ["李宁","耐克","阿迪达斯"]
    2 slogan = ["一切皆有可能","Just do it","Impossibale is nothing"]
    3 print("耐克的口号是:",slogan[brand.index("耐克")])

      列表brand、slogan的索引和相对的值没有任何关系,我们仅通过两个列表的索引值的设置使其产生联系,而字典可以将brand的slogan与brand 在字典中联系起来,产生键值对(映射关系)。eg:

    1 dict1 = {"李宁":"一切皆有可能","耐克":"Just do it","阿迪达斯":"Impossibale is nothing"}
    2 print("耐克的口号是:",dict1["耐克"])

       都是在创建字典。

    1 data = "1000,小甲鱼,男"
    2 MyDict = { }
    3 #字符串分割方法
    4 (MyDict["id"],MyDict["name"],MyDict["sex"]) = data.split(",")
    5 
    6 print("Id:"+MyDict["id"])
    7 print("Name:" + MyDict["name"])
    8 print("sex:" + MyDict["sex"]) 

    动动手:

     1 print("|---欢迎进入通讯录程序 ---|")
     2 print("|---1:查询联系人资料 ---|")
     3 print("|---2:插入新的联系人 ---|")
     4 print("|---3:删除已有联系人 ---|")
     5 print("|---4:退出通讯录程序 ---|")
     6 phone_books ={ }
     7 def chaxun():
     8     name = input("请输入联系人姓名:")
     9     if name in phone_books:
    10         print(name+":"+phone_books[name])
    11     else:
    12         print("用户不存在")
    13 def insert():
    14     name = input("请输入联系人姓名:")
    15     if name in phone_books:
    16         print("您输入的姓名在通讯录中已存在-->",name+":"+phone_books[name])
    17         t =input("是否修改用户资料(YES/NO):")
    18         if t== "YES":
    19             num = input("请输入用户联系电话:")
    20             phone_books[name]=num
    21     else:
    22         phone_books[name] = input("请输入用户联系电话:")
    23 def pop():
    24     name = input("请输入联系人姓名:")
    25     if name in phone_books:
    26         del(phone_books[name])
    27     else:
    28         print("用户不存在")
    29 while 1:
    30     temp = int(input("请输入相关指令代码:"))
    31     if temp == 1:
    32         chaxun()
    33     elif temp == 2:
    34         insert()
    35     elif temp == 3:
    36         pop()
    37     elif temp==4:
    38         break
    39 print("|---感谢使用通讯录程序---|")
  • 相关阅读:
    写了一个数据库的连继ID号(格式:xxxx000001)
    热心的网友<寒羽枫>帮忙解决水晶报表打印纸张问题
    解决vs2005自带水晶报表次数的限制的次数
    WebWork教程 Interceptor(拦截器)
    由于最近网站内容需要更新的还是满多的,于是想开发一个采集系统。收集了一下资料。
    ASP.NET AJAX 1.0 Beta 2 发布
    水晶报表的显示与打印不一至问题
    去年治疗过敏性鼻炎所用的药。
    正则表达式快速入门教程
    sql复制一条相同的记录最快最好的办法。
  • 原文地址:https://www.cnblogs.com/IT-NXXB/p/13062204.html
Copyright © 2020-2023  润新知