7.6 数据结构之字典

  • 用于存放具有映射关系的数据。
  • 字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合,程序需要通过Key来访问Value,因此在同一个字典中,键(key)必须是唯一的。

1 创建格式:

dict1 = {key01 : value01, key02 : value02, …}

2 常用功能

# 空dict
empty_dict1 = {
   }
empty_dict2 = dict()
print(empty_dict1)
# 输出:{}
print(empty_dict2)
# 输出:{}

dict1 = {
   '语文': 80, '数学': 70, '英语': 60}

#访问
# 通过 key 访问 value 使用的也是方括号语法,就像前面介绍的列表和元组一样,只是此时在方括号中放的是 key,而不是列表或元组中的索引。
print(dict1)
# 输出:{'语文': 80, '数学': 70, '英语': 60}
print(dict1.keys())
# 输出:dict_keys(['语文', '数学', '英语'])
print(dict1.values())
# 输出:dict_values([80, 70, 60])
print(dict1['数学'])
# 输出:70

# 通过 key 添加 key-value 对。
dict1['日语'] = 89
print(dict1)
# 输出:{'语文': 80, '数学': 70, '英语': 60, '日语': 89}

# 通过 key 删除 key-value 对。
del dict1['数学']
print(dict1)
# 输出:{'语文': 80, '英语': 60, '日语': 89}

# 通过 key 修改 key-value 对。
dict1['语文'] = 99
print(dict1)
# 输出:{'语文': 99, '英语': 60, '日语': 89}

# 通过 key 判断指定 key-value 对是否存在。
print('日语' in dict1)
print('日语' not in dict1)
# 输出:True
# 输出:False

# 使用dict()函数创建字典
dict2 = [('语文', 100), ('数学', 90), ('英语', 80)]
dict3 = dict(dict2)
print(dict3)
# 输出:{'语文': 100, '数学': 90, '英语': 80}
dict4 = dict(语文=80, 数学=70, 英语=60)
print(dict4)
# 输出:{'语文': 80, '数学': 70, '英语': 60}

3 字典的常用方法

字典由 dict 类代表,可以使用dir()查看该类包含哪些方法
[‘clear’, ‘copy’, ‘fromkeys’, ‘get’, ‘items’, ‘keys’, ‘pop’, ‘popitem’, ‘setdefault’, ‘update’, ‘values’]

# clear:删除字典内所有元素
dict1.clear()
print(dict1)
# 输出:{}

# 浅copy
dict1 = dict3.copy()
print(dict1)
# 输出:{'语文': 100, '数学': 90, '英语': 80}

# fromkeys:创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。
dict5 = dict.fromkeys(dict1)
print(dict5)
# 输出:{'语文': None, '数学': None, '英语': None}
dict5 = dict.fromkeys(dict1, 10)
print(dict5)
# 输出:{'语文': 10, '数学': 10, '英语': 10}

# get:返回指定键的值,如果值不在字典中返回default值
print(dict1.get
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值