博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
字典简单使用
阅读量:5042 次
发布时间:2019-06-12

本文共 1610 字,大约阅读时间需要 5 分钟。

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

 

转载于:https://www.cnblogs.com/guo-zhi-wei/p/10015199.html

你可能感兴趣的文章
摘:JavaScript性能优化小知识总结
查看>>
创建djangoapp
查看>>
Guess UVALive - 4255 (拓扑排序)
查看>>
CQL语句
查看>>
团队项目题目更换
查看>>
WebServers发布提示oracle客户端模式不一致
查看>>
新版本Eclipse安装后插件都在哪里?
查看>>
centos 7安装libreoffice
查看>>
[CF1042F] Leaf Sets
查看>>
轮播图代码分享
查看>>
hdu 4632 回文子序列计数
查看>>
二叉搜索树的后序遍历序列
查看>>
多线程的通信方法
查看>>
VM Workstation 11 安装包
查看>>
mongodb的基本操作
查看>>
Reverse Nodes in K-Group
查看>>
golang 线程与通道
查看>>
Deep learning chapter10(part2)
查看>>
C++ 最简单的日志类
查看>>
Unity3d dotween
查看>>