# 字典
'''
字典同样可以用来 存储多个数据 通常用于存储 描述一个 物体 的相关信息
字典是无序的对象集合  列表是有序的对象集合
字典用 {} 定义
字典使用 键值对 存储数据,键值对之间使用 , 分隔
键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 字典

02-11 08:16