概述
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可以是数字、字符串甚至元组,但不可以用列表
开源优测
分享软件测试开源技术、经验、方案的首发平台
长按二维码/微信扫描 关注开源优测
QQ群:260407012