Python 字典dict的一些用法

1.字典简介

字典,在其他语言里又称映射、关联表。使用字典这种数据结构时,最频繁的操作就是检索。即在关键字集合(keys)查找是否存在某个关键字,然后通过关键字(key)返回关联的值(value)。python里采用散列技术(hash,哈希)对关键字进行处理,使经过散列函数处理的关键字变成某个存储地址。通过地址找值是计算机擅长的,所以效率很高。注意,字典是可变对象。

2.创建字典

(1)创建空字典

# 创建空字典
dct = {}
dct2 = dict()

(2)通过指定key,value

# 方式1
dct = {'key1': 'value1', 'key2': 'value2'}
# 方式2,注意这里是利用dict函数的超参数性质,A B是参数而不是字符串,会自动处理成{'A':1, 'B':2}
dct = dict(A=1, B=2)

(3) 通过已有序列

keys = ['A', 'B', 'C']
values = [1, 2, 3]
# 第一种方式
dct = dict(zip(keys, values))
# 第二种方式
dct = {keys: values}

(4)如果value暂时无法提供,想生成不包含值(后续赋值)的字典,还可以这样写

keys = ['A', 'B', 'C']
dct = dict.fromkeys(keys, None)

(5) 字典生成式

dct = {keys[i]: value[i] for i in range(len(keys))}

3.检索

最直接的方式如下

# 指定key为'A'
value = dct['A']

上面的方法建立在你对字典里的内容有把握的情况,因为字典里可能没有你想查找的关键字。这样写会报错,我们可以使用异常捕获或者下面的优雅方式:

# 尝试查找'D',若没有返回0
value = dct.get('D', 0)

# 尝试查找'D',若没有则添加该关键字并赋值为0
value = dct.setdefault('D', 0)

如果想查询后删除该键值对,可使用:

# 查询并删除A,如果没有,返回默认值0
value = dct.pop('A', 0)

常用的另一个场景就是遍历

# dct.items()返回(key, value)的元组
for key, value in dct.items():
    print(key, value)

# 只关心key时
for key in dct.keys():
    print(key)

# 只关心value时
for value in dct.values():
    print(value)

4.修改值

# 如果字典中已有该关键字,这个赋值将会修改值,若没有,相当于新增一个键值对
dct['A'] = 111

5.删除

(1)删除某个键值对

del dct['A]

(2) 清空字典

dct.clear()

(3) 删除字典

del dct

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值