[快学Python3]Dictionary(字典)
时间:2022-05-07
本文章向大家介绍[快学Python3]Dictionary(字典),主要内容包括内置函数、字典方法、遍历、修改、删除、小结、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
概述
Dictionnary(字典)是Python最常用的数据类型,它使用方括号{}来标识,其元素为key-value对应,key与value用冒号:分割开,下面我们看一个基本的字典创建示例:
dict = {u"key1": u"value1", u"key2": u"value2"}
或是这样创建:
dict = {12: u"deeptest", u"weixin": u"开源优测"}
内置函数
Python中常用的内置函数有:
- len 用于计算字典元素的个数, 即key的总数
- str 输出字典,即以可打印的字符串输出字典
- type 返回变量的类型
下面我们一起看看上述三个函数如何应用于字典的实例代码:
# -*- coding:utf-8 -*-
__author__ = u'苦叶子'
if __name__ == "__main__":
# 字典基本示例
dict = {u"DeepTest": u"开源优测", u"book": u"快学Python3"}
# 计算字典的长度
print(len(dict))
# 以字符方式输出字典,即将字典转换成字符串
str_d = str(dict)
print(str_d)
print(dict)
# 判断类型
print(type(dict)) # 字典类型
print(type(str_d)) # 字符串str类型
执行结果如下:
2
{'DeepTest': '开源优测', 'book': '快学Python3'}
{'DeepTest': '开源优测', 'book': '快学Python3'}
<class 'dict'>
<class 'str'>
字典方法
在python中,有大量的方法用于字典的处理,下面我们看看示例:
- clear 清空字典
- copy 复制字典
- fromkeys 以序列作为kye创建一个新字典,value为所有键对应的初始值
- get 返回指定key的value,如果key不存在,则返回默认值
- in 判断key是否存在,是则返回True,否则返回False
- items 返回可遍历的的元组,元组的元素为(key,value)形式
- keys 返回字典的所有key
- setdefault 如果key存在,则返回其对应的value,否则将该key和默认值插入到字典中,并返回默认值
- update 更新字典
- values 返回字典的所有value值
下面我们一起看看上述方法的实际应用:
# -*- coding:utf-8 -*-
__author__ = u'苦叶子'
if __name__ == "__main__":
print(u"字典方法应用示例")
dict_demo = {u"DeepTest": u"开源优测", u"ebook": u"快学Python3"}
tup1 = [1, 2, 3, 4]
# copy复制字典
dict_cp = dict_demo.copy()
print(dict_demo)
print(dict_cp)
# fromkeys创建字典
dict_new = dict.fromkeys(tup1, u"value")
print(dict_new)
# get获取指定key的value
value1 = dict_demo.get(u"DeepTest", u"我是默认值")
value2 = dict_demo.get(u"Python3", u"我是默认值")
print(value1)
print(value2)
# in, 判断key是否存在
key = u"DeepTest"
result1 = key in dict_demo
result2 = key in dict_new
print(result1)
print(result2)
# items, 以元组形式返回字典所有的(key, value)
items = dict_demo.items()
print(items)
# keys 以列表形式返回字典所有的key
keys = dict_demo.keys()
print(keys)
# setdefault, 如果key存在,则返回其对应的value,
# 否则将该key和默认值插入到字典中,并返回默认值
set_result1 = dict_demo.setdefault(u"DeepTest", u"设置值")
set_result2 = dict_demo.setdefault(u"我是key", u"我是value")
print(set_result1)
print(set_result2)
print(dict_demo)
# update, 更新字典
dict_demo.update(dict_new)
print(dict_demo)
# values,返回字典中所有的value
values = dict_demo.values()
print(values)
具体的运行结果,请自行运行查看。
遍历、修改、删除
下面我们一起看看如何对字典进行遍历、修改、删除操作。
# -*- coding:utf-8 -*-
__author__ = u'苦叶子'
if __name__ == "__main__":
print(u"字典遍历、修改、删除示例")
dict_demo = {u"DeepTest": u"开源优测", u"ebook": u"快学Python3"}
# 遍历 方法1
for (key, value) in dict_demo.items():
print("%s : %s" % (key, value))
# 遍历 方法2
for key in dict_demo.keys():
print("%s : %s" % (key, dict_demo[key]))
# 修改
dict_demo[u"ebook"] = u"修改后的值"
print(dict_demo)
# 删除指定元素
del dict_demo[u"ebook"]
print(dict_demo)
# 清空字典
dict_demo.clear()
print(dict_demo)
小结
- 字典的value可以存储任何类型Python对象,即可以是标准的类型,也可以是我们自定义的类型,但key不可以。
- 字典的key是唯一的,不可以重复
- 字典的key可以是数字、字符串甚至元组,但不可以用列表
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Dissonance 使用(三)
- 从代码角度看各类子域名收集工具
- Shiro-550 PoC 编写日记
- k8s代码走读---client-go编程交互基础
- 故障恢复:一次底层超融合故障导致的异常处理
- JavaSE语法
- 链表:听说过两天反转链表又写不出来了?
- 汇总:MySQL 8.0 运维便捷命令
- 链表:一道题目考察了常见的五个操作!
- 性能测试必备知识(11)- 怎么理解内存中的Buffer和Cache?
- 神经网络-感知器(二):Python代码实现
- Kylin、Druid、ClickHouse 核心技术对比
- 在线教育系统开发中,如何实现作业功能字体自定义?
- 保护模式第六讲-IDT表-中断门 陷阱门 任务门
- 跟牛老师一起学WEBGIS——GIS基础(QGIS中数据的创建与编辑)