【python】字典及其创建和访问以及方法(关联数组或哈希表)

字典:一一对应(映射)

键(key)-->值(value)


字典是另一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。


注意:列表、元组、字符串都是数据类型,字典不是数据类型而是映射类型。python中唯一的映射类型。


一、创建字典

字典由多个键和对应值成对组成。字典使用大括号(注意:集合也用大括号)



1、索引:索引方式用中括号 ,但不是用索引值,而是使用字典中的键,可以是整形变量、变量、字符串类型等。

冒号前后组成一个键组。冒号前面的称为键,冒号后边的称为对应的值。


2、dict()创建字典

dict(mapping):是一个工厂函数,是一个类型,不是一个BIF,不是一个普通的函数。调用他会生成一个实例,就像工厂一样,一下一个模块。


1)直接使用:只有一个参数,利用元组、列表构成映射关系创建字典



2)使用关键字


注意:使用双引号会报错,所以不使用最后会自动加上


3)直接给字典的键赋值

如果键本身存在,则改写键对的值。如果不存在,则自动创建并赋值



二、字典的方法

1、fromkeys(...):创建并返回一个新的字典

两个参数

-s:字典的键值

-v:键值对应的值,不提供的话默认为none

例如:


注意:会统一赋值,如果想单独为某些键赋值,那不可能完成而是创建了一个新的字典


2、访问字典的方法

1、键、值、键组

1)keys():返回字典的键


2)values():返回字典的键值


3)items():返回字典的像(键,值



注意:以上三种方法一般都用在for循环中。若字典中不存在要索引的键组时,会报错。

此时,引入.get()方法。


2、.get()方法:该方法索引不存在的键组时不会发生报错,而是返回一个None对象(什么都没有的对象)。

当get()找不到具体的值时,可以让它返回一个具体的值,但不会添加到字典中。


3、.setdefault():和.get()方法类似,但在字典中找不到对应键的时候会自动添加。随机添加(没有顺序)

>>> dict1.setdefault(32,'赞')


4、成员操作符in 和not in

>>> 31 in dict1
True
>>> 32 in dict1
False


注意:字典查找的是键,而在序列(列表、元组和字符串)里查找的是元素的值,而不是元素的索引号。


5、.clear()清空字典

如果直接用dict1={}清空也可以,但是不严谨。因为如果字典有多个名字,现在只是清空并且成为了另一个字典,而原先的字典还存在。


6、.copy():浅拷贝 

注意:拷贝和直接赋值不一样。拷贝的地址不一样,而赋值的地址一样。

拷贝:原来东西的变化不影响

赋值:同命运


7、.pop():给定键弹出相应的值

  .popitem():随机从键组中弹出一组像


8、.update():利用另一个字典或映射关系去更新字典(相同合并,不相同添加)

>>> a={1:1}
>>> b={1:2}
>>> a.update(b)
>>> a
{1: 2}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值