[深入python]阅读前看看目录,查的更快——python字典

python字典是非常核心的一种容器,也是一种常见的数据结构,支持按键进行索引操作,比列表有了更加直观的操作方式,
"""
    写在开始时
    在开始我们关于字典的学习前,大家应该对【数据容器】这个概念有一定的认识
    无论是字符串,元组,列表,字典,队列,栈等,都是用来存储和操作数据的容器
    既然是容器,那么就有类似的功能,比如新增,修改,删除,长度(容量)等。
    由于容器实现的数据结构不一样,又有各自独特的功能特点,在介绍完字典后,会
    有关于多个容器特点的对比

    字典的特性和操作
    0)字典的键不可以重复,值可以重复
    1)多种初始化字典的方式,字面量初始化,列表-元组初始化,dict函数初始化
    2)新增
    3)修改
    4)删除
    5)查询
    6)高级操作,复制,队列操作,返回列表-元组视图
    7)字典推导式
    8)python实现的NoSql数据库系列
"""
# 多种初始化字典的方式,
# 字面量初始化,列表-元组初始化,dict函数初始化,关键字初始化,fromkeys初始化
import val as val

dict_demo_init = {'name': 'demo', 'age': '10'}
tuple_items = [('name', 'demo'), ('age', 10)]
dict_demo_init = dict(tuple_items)
dict_demo_init = dict(name='demo', age=10)
print(dict_demo_init)
# fromkeys初始化
dict_demo_init = dict.fromkeys(['name', 'age', 'id'])
print(dict_demo_init)

# 新增
dict_demo_init['address'] = 'guangdong'
print(dict_demo_init)

# 修改
dict_demo_init['id'] = '20000'
print(dict_demo_init)
# 批量修改/用另一个字典来更新另一个字典
dict_demo_init.update({'id': '30000', 'address': 'xizang'})
print(dict_demo_init)

# 删除
del dict_demo_init['id']
print(dict_demo_init)
# 清空整个容器
dict_demo_init.clear()
print(dict_demo_init)

# 查询,使用方括号,键不存在时会抛出异常,使用get不存在键时会返回None
dict_demo_init['id'] = '10000'
print(dict_demo_init['id'])
print(dict_demo_init.get('id'))
# setdefault函数查询,键存在时返回值,不存在时新增并返回设置的默认值
print(dict_demo_init.setdefault('id'))
print(dict_demo_init.setdefault('unknown', 'unknown'))
print(dict_demo_init)
# 查询字典的键列表和值列表
print(list(dict_demo_init.keys()))
print(list(dict_demo_init.values()))

# 高级操作,复制,队列操作,返回列表-元组视图
dict_demo_copy = dict_demo_init.copy()
# pop会返回键值对的值,并且删除该键值对
print(dict_demo_copy.pop('id'))
print(dict_demo_copy)
# popitem会随机返回某个键值对的元组形式,并删除该键值对
print(dict_demo_copy.popitem())
# 返回列表-元组视图
print(list(dict_demo_init.items()))

# 字典推导式,类似列表推导式,注意不同的推导式,最外层括号是不一样的
# 列表推导式最外层是中括号,字典推导式最外层是大括号{}
data_list_tuple = [('id', '10001'), ('name', 'somepeople'), ('age', 10)]
data_dict = {key: val for key, val in data_list_tuple}
print(data_dict)
python实现的NoSql数据库系列

python实现的NoSql数据库系列

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值