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'}
- dict = {}.fromkeys(('x','y'),100)
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