字典和集合

字典和集合

一.字典的创建和访问

1.字典的创建

字典是Python中常用的一种数据存储结构,它是由“键-值”对组成,每个“键-值”对称为一个元素,每个元素表示一种映射或对应关系。 “键”可以是Python中任意不可变数据,如整数、实数、复数、字符串、元组等类型,但不能使用列表、集合、字典或其他可变类型作为字典的“键”。 “值”可以取任意数据类型。

2.直接赋值创建字典

直接赋值创建字典的一般格式如下:

变量名 = {键1:值1, 键2:值2, 键3:值3,…}

字典中元素打印出来的顺序与创建时的顺序不一定相同,这是因为字典中各个元素并没有前后顺序。

3.内置函数dict()创建字典

还可以用内置函数dict()通过其他“字典”、“(键,值)”对的序列或关键字参数来创建。

4.zip()函数

zip()函数将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的zip对象。

 5.使用fromkeys()方法创建字典

在Python中,当所有键对应同一个值时,可使用fromkeys()方法创建字典。

dict.fromkeys(seq[,value])

seq为字典“键”值列表 value为设置键序列(seq)的值,省略时默认为None

6.字典的创建

字典中的“键”是唯一的,创建字典时若出现“键”相同的情况,则后定义的“键-值”对将覆盖先定义的“键-值”对。

二.字典的访问

1.根据键访问值

字典中的每个元素表示一种映射关系,将提供的“键”作为下标可以访问对应的“值”,如果字典中不存在这个“键”则会抛出异常。其语法格式如下:

字典变量名[键]

2.使用get()方法访问值

在访问字典时,若不确定字典中是否有某个键,可通过get()方法进行获取,若该键存在,则返回其对应的值,若不存在,则返回默认值。其语法格式如下:

dict.get(key[,default=None])

dict为被访问字典名 key是要查找的键 default定义默认值,如果指定键的值不存在,返回该默认值,当default为空时,返回None

三.字典的基本操作

1.修改和添加元素

当以指定“键”为下标为字典元素赋值时,有两种含义: (1)若该“键”在字典中存在,则表示修改该“键”对应的值; (2)若该“键”不存在,则表示添加一个新的“键-值”对,也就是添加一个新元素到字典中。

2.删除元素

要删除字典中的元素或整个字典,可以使用del命令、clear()、pop()和popitem()方法。

  • del命令:可根据“键”删除字典中的元素。

  • clear()方法:用于清除字典中的所有元素。

dict.clear()

dict为要被清空的字典名 该方法不包含任何参数,也没有返回值

  • pop()方法:用于获取指定“键”的值,并将这个“键-值”对从字典中移除。

dict.pop(key[,default])

dict为要被删除元素的字典名 key是要被删除的键 default是默认值,当字典中没有要被删除的key时,该方法返回指定的默认值

  • popitem()方法:用于随机获取一个“键-值”对,并将其删除。

dict.popitem()

dict为要被删除元素的字典名 该方法无参数,返回值为一个随机的“键-值”对

3.更新字典

update()方法:可以将新字典的“键-值”对一次性全部添加到当前字典中,如果两个字典中存在相同的“键”,则以新字典中的“值”为准更新当前字典。

dict.update(dict2)

dict为当前字典 dict2为新字典

4.复制字典

复制字典可调用copy()方法,copy()方法返回字典的浅复制。

dict.copy()

dict为需要复制的字典 该方法无参数,返回值为一个新字典

5.遍历字典中所有的“键-值”对

遍历字典中所有的“键-值”对需要用到items()方法,该方法以列表形式返回可遍历的“(键,值)”元组。

dict.items()

6.遍历字典中的所有键

当不需要使用字典中的值时,可使用keys()方法只遍历字典中的键,该方法以列表返回一个字典中所有的键

dict.keys()

7.遍历字典中的所有值

当只关心字典所包含的值时,可使用values()方法,该方法以列表形式返回字典中所有的值。

dict.values()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值