python数据类型——字典

本文详细介绍了Python字典的基本操作,包括通过键值对进行新增、修改、查询和删除元素的方法。例如,使用`fromkeys()`批量新增键值对,通过`del`或`pop`删除元素,以及如何高效地检查键是否存在和获取值。此外,还展示了字典的`keys()`, `values()`, `items()`方法的用法,以及遍历字典的技巧。

字典是python中唯一的映射类型(哈希表)且是无序的,字典对象是可变的,但是字典的键使用哈希算法,所以必须使用不可变对象,由此可得,列表,字典是不可以作为key值,并且一个字典中可以使用不同类型的键值。

由于字典使用了hash算法能,相当于够知道key的具体地址,因此查找值是的时间复杂度为O(1),查询一次就可以得到我们想的数据。

t={'a':1,'b':2}
print('返回key的列表,可使用list函数将返回置为列表,',list(t.keys()))
print('返回values的列表,可使用list函数将返回置为列表,',list(t.values()))
print('可使用list函数将返回置为列表,',list(t.items()))

返回结果:
返回key的列表,可使用list函数将返回置为列表, ['a', 'b']
返回values的列表,可使用list函数将返回置为列表, [1, 2]
可使用list函数将返回置为列表, [('a', 1), ('b', 2)]

新增,修改

t={'a':1,'b':2}
# 当key不存在时,新增新的健值对
# 当key存在时,更新value值
t['c'] = 3
t['b'] = 4
print(t)

返回结果:
{'a': 1, 'b': 4, 'c': 3}
# fromkeys(),批量新增字典中的元素具有相同的key值,
# aa可以是字符串,元组,列表,默认values为none
aa='ABC'
dict={} 
dict = dict.fromkeys(aa)
print(dict)
dict = dict.fromkeys(aa,'zhenhai') #zhenhai为默认值
print(dict)


返回结果:
{'A': None, 'B': None, 'C': None}
{'A': 'zhenhai', 'B': 'zhenhai', 'C': 'zhenhai'}

删除

dic = {'A': '1', 'B': '2', 'C': '3'}
del dic['A']  # 删除字典中键值A的元素
print(dic)

repop = dic.pop('B')   #指定的key并且返回删除value值
print(dic,repop)

dic = {'A': '1', 'B': '2', 'C': '3'}
dic.popitem() # 删除最后一位并返回,3.7版本后才有的功能
print(dic)

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

返回结果:
{'B': '2', 'C': '3'}
{'C': '3'} 2
{'A': '1', 'B': '2'}
{}

查看

dic = {'A': '1', 'B': '2', 'C': '3'}
print('判断key值是否在字典里,','A' in dic)
print('获取value值,使用[]查找的话,如果没有这key会报错,所以一般使用get,没找到会返回none,',dic['A'],dic.get('B'))

for i in dic:
    print(i) #循环拿到key值

for i in dic:
    print(dic.get(i)) # 循环拿到values

返回结果:
判断key值是否在字典里, True
获取value值,使用[]查找的话,如果没有这key会报错,所以一般使用get,没找到会返回none, 1 2
A
B
C
1
2
3

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郑*杰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值