1 """ Python中字典的基本用法 """ 2 # 访问字典里的值 3 d = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'} 4 print(d['Name']) 5 6 # 修改字典 7 dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'} 8 dict['Age'] = 8 9 dict['School'] = '菜鸟教程' 10 print(dict) 11 12 # 字典键的特性 13 # (1)字典的键不可同时出现2次,创建时如果同一个键被赋值2次,后一个值会被记住。 14 dict = {'Name': 'Runoob', 'Age': 8, 'Class': 'First', 'Name': '菜鸟教程'} 15 print(dict) 16 # (2)字典的键必须不可变,所以可用数字/字符串/元组,不可用列表。 17 18 # dict.clear()用于删除字典中的所有元素 19 dict1 = {'Name': 'Zara', 'Age': 7} 20 print("原字典长度:", len(dict1)) 21 dict1.clear() 22 print("字典删除后长度:", len(dict1)) 23 24 # dict.fromkeys(seq[, value])用于创建一个新的字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。 25 seq = ['name', 'age', 'sex'] 26 dict2 = dict.fromkeys(seq, '24') 27 print(dict2) 28 29 # dict.get(key, default=None)返回指定键的值,如果值不在字典中返回默认值。 30 dict3 = {'name': 'Junlong', 'age': 24, 'sex': 'man'} 31 print(dict3.get('age')) 32 33 # dict.items()以列表返回可遍历的(键值)元组数组 34 dict4 = {'name': 'Junlong', 'age': 24, 'sex': 'man'} 35 print(dict4.items()) 36 print(list(dict4.items())) # 转换为列表 37 38 # dict.keys()返回一个可迭代对象,可以使用 list() 来转换为列表。 39 dict5 = {'name': 'Junlong', 'age': 24, 'sex': 'man'} 40 print(dict5.keys()) # 返回可迭代键 41 print(list(dict5.keys())) # 转换为列表 42 43 # dict.setdefault(key, default=None)返回指定键的值,如果键不存在于字典中,则添加键于字典并将值设置为默认值。 44 dict6 = {'name': 'Junlong', 'age': 24, 'sex': 'man'} 45 print(dict6.setdefault('name')) # 返回键(name)所对应的值 46 print(dict6.setdefault('身份证号')) # 字典中不存在键(身份证号),添加键于字典中 47 print(dict6) # 打印新的字典 48 49 # dict.update(dict2)把字典dict2的key/value更新到字典dict中 50 dict7_1 = {'name': 'Junlong', 'age': 24, 'sex': 'man'} 51 dict7_2 = {'学号':10218130102, '年级': 2018} 52 dict7_1.update(dict7_2) 53 print(dict7_1) # 打印更新后的字典,包含dict7_1与dict7_2中的所有内容 54 print(dict7_2) # dict7_2中的key/value没有改变 55 56 # dict.values()返回一个迭代器,可以使用 list() 来转换为列表,列表为字典中的所有值。 57 dict8 = {'name': 'Junlong', 'age': 24, 'sex': 'man'} 58 print(dict8.values()) # 返回一个字典值的迭代 59 print(list(dict8.values())) # 将返回的字典中的值转换为列表 60 61 # pop(key[,default])删除字典给定键key所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。 62 dict9 = {'name': 'Junlong', 'age': 24, 'sex': 'man'} 63 pop_obj = dict9.pop('name') 64 print(dict9) # 打印删除key(name)和value('Junlong')后的字典 65 print(pop_obj) # 返回被删除的值 66 67 # popitem()随机返回并删除字典中的一对键和值(一般删除末尾对)。 68 dict10 = {'name': 'Junlong', 'age': 24, 'sex': 'man'} 69 object = dict10.popitem() 70 print(object) # 以元组形式返回删除的最后一对key/value 71 print(dict10) # 打印删除一对key/value后的字典