# 字典 ''' 字典同样可以用来 存储多个数据 通常用于存储 描述一个 物体 的相关信息 字典是无序的对象集合 列表是有序的对象集合 字典用 {} 定义 字典使用 键值对 存储数据,键值对之间使用 , 分隔 键key 是索引 值value 是数据 键和值之间使用 : 分隔 键必须是唯一的 键只能使用字符串、数字或元组 值可以取任何数据类型 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住 ''' # 创建一个字典 dic = {'name': '李修贤', 'addess': '小南', 'abc': '789'} print(dic) # 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住 dic = {'Name': '小米', 'Age': 7, 'Name': '小菜鸟'} print("dic['Name']: ", dic['Name']) # 访问字典中的元素 访问不存在的键会报错 dic = {'name': '李修贤', 'addess': '小南', 'abc': '789'} print(dic['abc']) print(dic['abc5']) # 报错 字典中没有键'abc5' # 修改字典的中的元素值 # 如果键存在 修改其对应键的值 dic['name'] = '张飞' print(dic) # 如果不存在 在字典里新增键值对 dic['age'] = 25 print(dic) # 删除字典元素 del dic = {'name': '李修贤', 'addess': '小南', 'abc': '789'} del dic['name'] # 删除单个字典元素 print(dic) del dic # 删除整个字典 print(dic) # 字典内置函数 dic = {'name': '李修贤', 'addess': '小南', 'abc': '789'} # len(dict) 计算字典元素个数,即键的总数 print(len(dic)) # str(dict) 输出字典,以可打印的字符串表示。 print(str(dic)) # type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型。 print(type(dic)) # 字典内置方法 # dict.clear() 删除字典内所有元素 dic.clear() print(dic) # dict.copy() 返回一个字典的浅复制 dic2 = dic.copy() print(id(dic)) print(id(dic2)) # dict.fromkeys() 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值 # 不赋值 默认是None seq = ('name', 'age', 'sex') dic2 = dict.fromkeys(seq) print(dic2) # 默认赋值 10 dic3 = dict.fromkeys(seq, 10) print(dic3) # dict.get(key, default=None) 返回指定键的值,如果值不在字典中返回default值 print(dic.get('name')) # 存在返回 print(dic.get('edc')) # 不存在返回None print(dic.get('edc', '武士凯')) # 不存在可设置返回默认值 # key in dict 如果键在字典dict里返回true,否则返回false if 'name' in dic: print("存在") else: print("不存在") # dict.items() 以列表返回可遍历的(键, 值) 元组数组 print(dic.items()) # dict.keys() 返回字典所有key的列表 print(dic.keys()) # dict.values() 返回字典所有value的列表 print(dic.values()) # dict.setdefault(key, default=None) # 如果key存在 不会修改字典数据 dic.setdefault('name', '王语嫣') print(dic) # 如果key不存在 新建键值对 dic.setdefault('sex', '男') print(dic) # 如果key不存在 没有设置其值 默认是None dic.setdefault('sex') print(dic) # dict.update(dict2) 把其他字典的键/值对更新到dict里 dic2 = {'azx': 789} dic.update(dic2) print(dic) # pop(key[,default]) 删除字典给定键 key 所对应的值,返回值为被删除的值 pop_str = dic.pop('name') print(pop_str) # popitem() 随机返回并删除字典中的最后一对键和值 print(dic.popitem()) # 遍历字典 for k in dic: print("%s: %s" % (k, dic[k]))
python 字典