您的位置:首页 > 编程语言 > Python开发

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

2017-08-02 10:51 501 查看
字典:一一对应(映射)

键(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}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: