python 基础知识复习之字典

本文介绍了Python字典的基础知识,包括字典的有序特性(从Python3.7开始)、其与哈希算法的关系,以及字典的各种操作如添加、删除、查询等。字典作为Python中的可变容器模型,提供高效的查找、添加和删除操作,底层通过哈希表实现。文章通过实例展示了字典的常用方法,如`clear()`、`copy()`、`get()`、`keys()`、`values()`、`items()`等。
# 字典是一系列由键(key)和值(value)配对组成的元素的集合。字典是一个可变容器模型,可以存储任意类型对象。字典实现与哈希算法密不可分(不同的Python版本,算法会不同),不了解哈希算法的童鞋可以先去了解相关知识。
#
# 在Python3.6之前,字典是无序的,但是Python3.7+,字典是有序的。在3.6中,字典有序是一个implementation detail,在3.7才正式成为语言特性,因此3.6中无法确保100%有序。
#
# 字典的查询、添加、删除的平均时间复杂度都是O(1),相比列表与元祖,性能更优。
#
# 字典底层是维护一张哈希表hashtable,我们可以把哈希表看成一个列表,哈希表中的每一个元素又存储了哈希值(hash)、键(key)、值(value)3个元素。

dict1 = {'age':18,'name':"叫我帅哥",'class':"h2202b",'height':'190'}

#      clear()  删除字典内所有元素
# print(dict1.clear())


#   copy()  返回一个字典的浅复制
# print(dict1.copy())


# 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
# dict1.fromkeys()
# print(dict1.fromkeys('来将可留姓名','常山赵子龙'))

# get()
# 返回指定键的值,如果值不在字典中返回default值
# print(dict1.get('age'))


# 5    key in dict
# 如果键在字典dict里返回true,否则返回false
# print('age' in dict1)

# 6    dict1.items()
# 以列表返回可遍历的(键, 值) 元组数组
# print(dict1.items())
# for i,j in dict1.items():
#     print(i,j)


# 7    radiansdict.keys()
# 以列表返回一个字典所有的键
# print(dict1.keys())

# 根基键 返回指定的值
# 8    radiansdict.setdefault(key, default=None)
# print(dict1.setdefault('age'))


# 9    radiansdict.update(dict2)
# 放字典中添加数据
# dict1.update({'lick':'assasasa'})
# print(dict1)


# 以列表返回字典中的所有值
# 10    radiansdict.values()
# print(dict1.values())

# 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
# print(dict1.pop('age',None))


# 12    popitem()
# 随机返回并删除字典中的一对键和值(一般删除末尾对)。
# print(dict1.popitem())

# 向字典中添加元素 如果键存在 则会修改他的值
# dict1['age'] = '1111'
# print(dict1)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值