12月22日一周四次【Python基础语法】

1.8 字典
1.9 字典练习
练习题

1.8 字典

字典{}
  • 字典是Python中的唯一的映射类型(哈希表)
  • 字典对象是可变的,但是字典的键必须使用不可变对象,一个字典中可以使用不同类型的键值
  • 字典的方法:
    • keys()
    • values()
    • items()
  • 创建字典
    • dic = {}
    • dic = dict()
      • help(dict)
      • dict((['a',1],['b',2]))
      • dict(a=1,b=2)
    • fromkeys(),字典元素有相同的值,默认为None.
      • dict = {}.fromkeys(('x','y'),100)
        dict = {'a': 97,'b':98,'c':99}
        print (dict)
        > {'a': 97, 'b': 98, 'c': 99}
        #####################################
        dict = {'a': 97,'b':98,'c':99}
        print (dict.keys())
        > dict_keys(['a', 'b', 'c'])
        #####################################
        dict = {'a': 97,'b':98,'c':99}
        print (dict.values())
        > dict_values([97, 98, 99])
        #####################################
        dict = {'a': 97,'b':98,'c':99}
        print (dict.get('a'))
        > 97
        #####################################
        dict = {'a': 97,'b':98,'c':99}
        print (dict.items())
        > dict_items([('a', 97), ('b', 98), ('c', 99)])
        #####################################
        dict = {'a': 97,'b':98,'c':99}
        dict['a'] = 111
        print (dict.get('a'))
        > 111
        #####################################
        dict = {'a': 97,'b':98,'c':99}
        print (dict.get('e'))
        > None
        #####################################
        dict = {'a': 97,'b':98,'c':99}
        print (dict.get('e','long'))
        > long
        #####################################
        dict = {'a': 97,'b':98,'c':99}
        print ('a' in dict)
        > True
        print ('e' in dict)
        > False
        print ('e' not in dict)
        > True
        #####################################
        dict = {'a': 97,'b':98,'c':99}
        print (dict.clear())
        > None
        #####################################
        dict = {'a': 97,'b':98,'c':99}
        dict.pop('a')
        print (dict)
        > {'b': 98, 'c': 99}
        #####################################
        dict = {'a': 97,'b':98,'c':99}
        dict1 = {'d':100,'e':101}
        dict.update(dict1)
        print (dict)
        > {'a': 97, 'b': 98, 'c': 99, 'd': 100, 'e': 101}
        #####################################
        dict = {'a': 97,'b':98,'c':99}
        dictt = {'d':100,'e':101}
        cc = dictt.fromkeys('abcccd')
        print (cc)
        > {'a': None, 'b': None, 'c': None, 'd': None}
        dd = dictt.fromkeys('abcddd',100)
        print (dd)
        > {'a': 100, 'b': 100, 'c': 100, 'd': 100}
        ee = dictt.fromkeys(range(5),'dd')
        print (ee)
        > {0: 'dd', 1: 'dd', 2: 'dd', 3: 'dd', 4: 'dd'}

1.9 字典练习

info = {}
name = input("请输入名字:")
age = input("请输入年龄:")
info ['姓名'] = name
info ['年龄'] = age
print (info)

练习:

  • 1 . 现有一个字典dict1 保存的是小写字母a-z对应的ASCII码
字典dict1
dict1 = {'a': 97, 'c': 99, 'b': 98, 'e': 101, 'd': 100, 'g': 103, 'f': 102, 'i': 105, 'h': 104, 'k': 107, 'j': 106, 'm': 109, 'l': 108, 'o': 96, 'n': 110, 'q': 113, 'p': 112, 's': 115, 'r': 114, 'u': 117, 't': 116, 'w': 119, 'v': 118, 'y': 121, 'x': 120, 'z': 122}
  • 1) 将该字典按照ASCII码的值排序
  • 2) 有一个字母的ASCII错了,修改为正确的值,并重新排序
    dict1= sorted(dict1.items(), key=lambda a:a[0])
    print ("将该字典按照ASCII码的值排序")
    print(dict1)
    #############################################################
    dict1['o'] = 111
    dict1= sorted(dict1.items(), key=lambda a:a[0])
    print ("有一个字母的ASCII错了,修改为正确的值,并重新排序")
    print(dict1)
  • 2 . 用最简洁的代码,自己生成一个大写字母 A-Z 及其对应的ASCII码值的字典dict2(使用dict,zip,range方法)
    import string
    dict2 = dict(zip(string.ascii_uppercase,range(65,92)))
    print (dict2)
  • 3 . 将dict2与第一题排序后的dict1合并成一个dict3
    dict3 = dict(dict1, **dict2)
    print (dict3)

转载于:https://blog.51cto.com/13542406/2053753

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值