字典简单使用

Posted guo-zhi-wei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字典简单使用相关的知识,希望对你有一定的参考价值。

python中的字典相当于Java或者C++中的hash表,因此熟悉hash表的相关操作的话,对于字典的操作也会很容易理解。

1 语法格式

字典在python中是另一种可变容器模型,有点是可存储任意类型对象。

语法格式:

1)字典的每个键值 key=>value 对用冒号 : 分割;

2)每个键值对之间用逗号 , 分割;

3)整个字典包括在花括号 {} 中 。

如下所示:

1 d = {key1 : value1, key2 : value2 }

 需要注意的一些点包括:

1)键是唯一的,但是值不是唯一的,如果键重复了,那么后面的添加的键值对会覆盖前面的;

2)值可以是任何类型,但是键必须是字符串,数字,元组;

2 基本访问

2.1 访问字典里的值

方法是:把相应的键放入方括号中

1 dict = {Name: Zara, Age: 7, Class: First}
2 输入:dict[Name]
3 输出:Zara

注意:当访问到字典中没有的键时,这是会出错

2.2 修改字典里的值

1 dict = {Name: Zara, Age: 7, Class: First}
2  
3 dict[Age] = 8 # 更新,当存在该键时是修改或更新
4 dict[School] = "RUNOOB" # 添加,当没有该键时是添加

2.3 删除字典元素

字典支持删除单个元素或者清空字典操作

删除单个条目用del,当del用于删除字典时是删除整个字典, 清空字典用clear方法,只是清空,但是没有删除。

dict = {Name: Zara, Age: 7, Class: First}
 
del dict[Name]  # 删除键是‘Name‘的条目
dict.clear()      # 清空词典所有条目
del dict          # 删除词典

3 字典中键的特性

字典中的值可以没有任何限制的去python中的任何一种对象,可以是标准对象,也可以是用户自定义的对象。

但是键不可以。

3.1 不允许同一个键出现两次,若出现两次及以上赋值,则最后一次出现的会覆盖掉之前的值

3.2 键必须不可变,所以可以用数字,字符串,元组,但是不可以用列表

dict = {[Name]: Zara, Age: 7} 

上例中[‘Name‘]是列表,不可以作为字典中的键,会出现错误。

4 字典内置的函数&方法

4.1 内置的函数

1)  比较两个字典  cmp(dict1, dict2)

若相等,则返回0;

若dict1 > dict2, 则返回1;

若dict1 < dict2, 则返回-1;

2) 计算字典中元素个数,即键值对个数  len(dict)

3)输出字典可打印的字符串表示 str(dict)

{Age: 7, Name: Zara}

4)返回变量的类型 如果是字典,则返回字典类型 type(varible)

4.2 内置方法

1)清空字典 dict.clear()

dict是字典的名称,清空后长度变为0

2)字典对象浅拷贝 dict.copy()

所谓浅拷贝就是把字典对象拷贝一份,但是字典对象中的子对象没有拷贝,如某个键对应的值是列表对象,那么该对象没有拷贝,改变其中一个字典对象中的该列表,那么另一个字典对象也会跟着改变。

3)判断字典中是否含有某个key, dict.has_key(key)

如果存在,则返回true,不存在返回false

4)返回指定键的值  dict.get(key)

如果存在,直接返回对应的值,如果不存在,返回默认值,即None

 

以上是关于字典简单使用的主要内容,如果未能解决你的问题,请参考以下文章

Python代码阅读(第40篇):通过两个列表生成字典

Python snippet(代码片段)

Python代码阅读(第19篇):合并多个字典

创建自己的代码片段(CodeSnippet)

为啥这段代码会泄露? (简单的代码片段)

如何使用Android片段管理器传递变量[重复]