Python 字典

本文介绍了Python字典的基本概念,包括如何创建和使用字典,以及一系列字典操作方法,如clear、copy、deepcopy、fromkeys、get、setdefault、items、pop、popitem和update。通过实例详细解析了这些方法的用法,帮助读者掌握字典在Python编程中的应用。
摘要由CSDN通过智能技术生成

概述

字典就是一组组键 - 值对,通过指定键可以返回其值。简单说就是将序列中序号用其他类型代替。

创建和使用字典

phoneBook = {'Tom':'666','Jerry':'2333'}
a = phoneBook['Tom']

如上,通过 {} 创建字典,键和值用 :隔开,每对之间用 ,隔开
还可以用 dict()构造字典,三种方法如下:

# 创建空字典
dict()

# 传入关键字
dict(a='a', b='b', t='t')     
#{'a': 'a', 'b': 'b', 't': 't'}

# 映射函数方式来构造字典
dict(zip(['one', 'two', 'three'], [1, 2, 3]))   
#{'three': 3, 'two': 2, 'one': 1} 

# 可迭代对象方式来构造字典
dict([('one', 1), ('two', 2), ('three', 3)])    
#{'three': 3, 'two': 2, 'one': 1}

基本字典操作

函数说明
len(d)返回字典包含的键值数
d[k]返回与 k 关联的值
d[k]=v将键 k 的值改为 v
del d[k]删除键 k
k in d检查 d 中是否有键为 k 的键值对
  • 键的类型:字典中的键可以是任何不可变的类型,如浮点数、字符串或元组
  • 自动添加:即使是字典中原本没有的键,也可以直接赋值,会自动增加键值对。

字典方法

clear

删除所有字典项

copy、deepcopy

copy 返回一个新字典,其包含的键值对与原来字典相同(浅复制)。浅复制时,替换不受影响,修改会使原件也发生变化,如下代码:

x = {'username':'admin','machines':['foo','bar','baz']}
y = x.copy()
y['username'] = 'hhh'
y['machines'].remove('bar')
print(x)
print(y)
# x = {'username': 'admin', 'machines': ['foo', 'baz']}
# y = {'username': 'hhh', 'machines': ['foo', 'baz']}

如上, = 赋值时,不会影响原件,而调用方法时,会修改原件。
如果要完全复制,需要进行深复制,使用模块 copy 中的 deepcopy ,将上述代码改为:

import copy
y = copy.deepcopy(x)
dict.fromkeys(list,value)

用于创建一个键为 list 中元素的字典,其值全部为 value,通常省略 value,每个键值都为 None

get(key,defaultValue)

当用普通方法取键值时,如果没有键会报错。但是 get 方法会返回 defaultValue,通常省略,返回 None

setdefault(key,defaultValue)

与 get 类似,如果有 key 的键,则保持不变,否则将 key 的键值改为 defaultValue

items

返回一个包含所有字典项的列表,其中每个元素都为(key,value)的形式。排序不确定

pop(key)

获取键 key 的关联值,并将此键值对删除。

popitem

从字典中随机弹出一个键值对,也就是随机将一个键值对返回并删除。

a = {'name':'Tom','age':24,'interest':'running'}
b = a.popitem()
#	a = {'name': 'Tom', 'age': 24}
#	b = ('interest', 'running')
update

使用一个字典中的项来更新另一个字典。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值