Day06----- 字典

一 字典 dict
定义
1. 由一系列键值对组成的可变散列容器。
2. 散列:对键进行哈希运算,确定在内存中的存储位置,每条数据存储无先后顺序。
3. 必须惟一且不可变(字符串/数字/元组),值没有限制。

基础操作
1. 创建字典:
字典名 = {键1:值1,键2:值2}
字典名 = dict (可迭代对象)

# 创建
dict01 = {}
dict02 = dict()
dict01 = {"悟空": 180, "八戒": 150, "张无忌": 170}
# 其他可迭代对象(格式)  -->  字典
dict02 = dict([("悟空", 180), ("八戒", 150)])   #一对一对的迭代
2. 添加/修改元素:

语法:
字典名[键] = 数据

# 添加(如果key是不存在的)
dict01["唐僧"] = 190
# 修改(key存在的情况就是修改)
dict01["唐僧"] = 180

说明:
键不存在,创建记录。
键存在,修改值。

3. 获取元素:
变量 = 字典名[键] # 没有键则错误

# 获取
# -- 通过key来实现
#     如果存在,返回value。
print(dict01["悟空"])
#      如果不存在,报错。
if "沙僧" in dict01:	#容错机制
    print(dict01["沙僧"])
4. 遍历字典:
for 键名 in 字典名:
	字典名[键名]

for 键名,值名 in 字典名.items():

# -- 通过循环
#    获取所有key
for key in dict01:	#获取键的时候,什么也不用加,也就是默认是键
    print(key)
#    获取所有value
for value in dict01.values():#获取值加.values
    print(value)
#   获取所有key--value
# for kv in dict01.items():# 遍历结果是元组(key, value)
#     print(kv)
for key,value in dict01.items():#结果是各自获取
    print(key)
    print(value)
5. 删除元素:

del 字典名[键]

# 删除
if "唐僧" in dict01:
    del dict01["唐僧"]	#删除键
    print(dict01)

字典推导式
1. 定义:
使用简易方法,将可迭代对象转换为字典。
2. 语法:
{键:值 for 变量 in 可迭代对象}
{键:值 for 变量 in 可迭代对象 if 条件}

"""
    字典推导式
    练习:exercise07
"""
# 需求:range(1,11):  key:1--10   value:键的平方
dict01 = {item: item ** 2 for item in range(1, 11)}
# 需求:range(1,11) 的 奇数:  key:1--10   value:键的平方
dict01 = {item: item ** 2 for item in range(1, 11) if item % 2 != 0}

字典 VS 列表:
1. 都是可变容器。
2. 获取元素方式不同,列表用索引,字典用
3. 字典的插入,删除,修改的速度快于列表。
4. 列表的存储是有序的,字典的存储是无序的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值