dict语法 --鱼c工作室笔记

本文详细介绍了Python中字典(dict)的各种操作方法及其应用场景,包括初始化、访问、更新及删除等核心功能,并提供了实用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

dict:

初始化方法:

dict() -> new empty dictionary

dict(mapping) -> new dictionary initialized from a mapping object's (key,value) pairs

   之所以有很多括号,是因为dict(mapping)只接受一个mapping参数。所以通过括号将多个元组组成一个

dict(iterable) -> new dictionary initialized as if via:

d = {}

for k,v in iterable:

d[k] = v

dict(**kwargs) -> new dictionary initialized with the name=value pairs in the keyword argument list, for example: dict(one=1,two=2)

   注意不要为name加引号,赋值函数会自动加的

但是访问时需要加引号

访问时,dict中没有此key,dict会新建一个key-value,有的话如果赋值和之前不同,会改成现在的值


dict()不是普通函数,而是工厂函数


常用函数:

dict.fromkeys(S[,v])  ->new dict with keys from S and values equal to v(v defaults to None)


注意以下这种情况:


keys(), values(),items()分别表示dict的键,值和项

当使用dict访问不存在的键时, 直接使用索引,比如dict1[32] (假设dict只有0-31元素),此时程序就会报错,对用户不太友好。

此时应该使用 get方法,dict1.get(32) 不存在的话,程序可以正常结束,如果dict1.get(32,'a'),32存在打印dict中32对应的值,32不存在,打印’a'

判断key是否在dict中,使用in和not in

注意: dict中in和not in查找的是键而不是值, 但是序列中in和not in查找的是值,而不是元素的索引号

清空字典: clear()

虽然也可以使用 dict1 = {},也就是说直接对dict1赋值空dict也等于是把dict清空,但是不建议这么做。原因见下图:


浅拷贝: copy()

注意: 赋值不是浅拷贝。直接赋值只是在同一个位置贴不同的标签,但是浅拷贝是对对象的一个简单的复制


pop()   给定键弹出对应的值

popitem() 弹出一个项,注意不是弹出第一个,而是随机弹。因为在字典里面是没有顺序的,有顺序的里面是弹出最后一个。



setdefault() 和get方法有一些类似,不同之处在于,当setdefault()找不到相应的key时会自动添加



update()  : 利用一个字典或映射关系去更新另外一个字典



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值