软件测试|一步到位教会你Python字典操作(一)

简介: 软件测试|一步到位教会你Python字典操作(一)

在这里插入图片描述

字典(dict)是 python 中的基础数据类型之一,字典的设计并不复杂,我们经常会用到这种数据类型。
同时,字典也有一些比较实用的情景。
学习任何一种编程语言,基础数据类型都是必备的底层基础,今天,我们来学习下 Python 中字典的使用。

基本用法

在 Python 中,字典是一种可以将相关的两个信息关联起来的操作,并且字典可存储的信息量几乎不受限制。
字典是 Python 提供的一种常用的数据结构,它用于存放具有映射关系的数据。为了保存具有映射关系的数据,Python 提供了字典,字典相当于保存了两组数据,其中一组数据是关键数据,被称为 key;另一组数据可通过 key 来访问,被称为 value。

  1. 创建字典

字典是以 key、value 的形式创建的。
字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:

dict = {key1:value1, key2:value2}

一般情况下,字典的创建可以有以下几种方式:

# 创建一个空的字典 
my_dict1 = {} 
# 创建 key 值为整数的字典 
my_dict2 = {1: 'apple', 2: 'ball'} 
# 创建 key 值为 string 的字典 
my_dict3 = {'name1': 'apple', 'name2': 'ball'} 
# 创建 key 值为 数字 和 string 混合的字典 
my_dict4 = {'name': 'apple', 1: [2, 4, 3]} 
# 用 dict() 函数创建字典 
my_dict5 = dict({1:'apple', 2:'ball'}) 
# 以元组的形式组成序列创建字典 
my_dict6 = dict([(1,'apple'), (2,'ball')]) 


print('my_dict1:', my_dict1) 
print('my_dict2:', my_dict2) 
print('my_dict3:', my_dict3) 
print('my_dict4:', my_dict4) 
print('my_dict5:', my_dict5) 
print('my_dict6:', my_dict6)

----------------------------
my_dict1: {} 
my_dict2: {1: 'apple', 2: 'ball'} 
my_dict3: {'name1': 'apple', 'name2': 'ball'} 
my_dict4: {'name': 'apple', 1: [2, 4, 3]} 
my_dict5: {1: 'apple', 2: 'ball'} 
my_dict6: {1: 'apple', 2: 'ball'}
  1. 获取字典中的元素

通过 key 来获取 value
获取字典中的元素,可以直接通过 key 值来获取对应的 value,如下:

player = {'name': 'messi', 'age': 36 , 1: [2, 4, 3], '俱乐部':'巴萨'} 
print(player['name']) 
print(player('name'))
结果如下:
messi 
messi

如果字典的key值中没有该元素,则不能获取相应的 value,这种情况下将会报错。

print(player['name1'])

# 输出: KeyError Traceback (most recent call last) <ipython-input-4-eedb02e2ace8> in <module> ----> 1 print(player['name1']) KeyError: 'name1'
  1. 在字典中修改或添加元素

在字典中,可以修改已有 key 对应的 value 值,或者添加新的 key-value 键值对数据,如下:

player = {'name': 'messi', 'age': 36 , 1: [2, 4, 3], '俱乐部':'巴萨'}

# 修改已有 key 对应的 value 的值
player['club']='大巴黎'

# 添加新的 key-value 数据组
player['gender'] = 'male'

# 结果如下
{'name': 'messi', 'age': 36 , 1: [2, 4, 3], '俱乐部':'大巴黎', 'gender': 'male'}
  1. 从字典中删除元素

从字典中删除元素,或者删除整个字典,有以下一些方式。

pop() 方法
移除字典数据pop()方法的作用是:删除指定给定键所对应的值,返回这个值并从字典中把它移除。

# 使用 pop()方法来删除 
player = {'name': 'messi', 'age': 36 , 1: [2, 4, 3], '俱乐部':'大巴黎', 'gender': 'male'}
player.pop('age') 
结果如下:
{'name': 'messi',  1: [2, 4, 3], '俱乐部':'大巴黎', 'gender': 'male'}

del 方法

# 使用 del 方法来删除
player = {'name': 'messi', 'age': 36 , 1: [2, 4, 3], '俱乐部':'大巴黎', 'gender': 'male'}
del player[1]
结果如下:
{'name': 'messi', 'age': 36 , '俱乐部':'大巴黎', 'gender': 'male'}

popitem() 方法

# 使用 popitem()方法来删除 
player = {'name': 'messi', 'age': 36 , '俱乐部':'大巴黎', 'gender': 'male'}
player.popitem()
结果如下:
{'name': 'messi', 'age': 36 , '俱乐部':'大巴黎'}

clear()方法

# 使用 clear()方法来清空字典中的所有数据,返回的是一个空字典
player = {'name': 'messi', 'age': 36 , '俱乐部':'大巴黎', 'gender': 'male'}
player.clear()

结果如下:
{}

字典内置函数&方法

  1. len()

len(dict)计算字典元素个数,即键的总数。

player = {'name': 'messi', 'age': 36 , '俱乐部':'大巴黎', 'gender': 'male'}
len(player)

# 输出如下:
4
  1. str(dict)

输出字典可打印的字符串表示

player = {'name': 'messi', 'age': 36 , '俱乐部':'大巴黎', 'gender': 'male'}
str(player)

# 输出如下
{'name': 'messi', 'age': 36, '俱乐部': '大巴黎', 'gender': 'male'}
  1. type(variable)

返回输入的变量类型,如果变量是字典就返回字典类型

player = {'name': 'messi', 'age': 36 , '俱乐部':'大巴黎', 'gender': 'male'}
type(player)

# 输出如下
<class 'dict'>
  1. copy, keys, values, items 方法
player = {'name': 'messi', 'age': 36 , '俱乐部':'大巴黎', 'gender': 'male'}
print('copy:', player.copy())
print('keys:', player.keys())
print('values:', player.values()) 
print('items:', player.items())

# 结果如下
copy: {'name': 'messi', 'age': 36 , '俱乐部':'大巴黎', 'gender': 'male'}
keys: dict_keys(['name', 'age', '俱乐部', 'gender']) 
values: dict_values(['messi', 36, '大巴黎', 'male'])
items: dict_items([('name', 'messi'), ('age', 36), ('俱乐部', '大巴黎'), ('gender', 'male')])
  1. zip()方法
seq = ['name', 'age', 'city'] 
value = ['messi', 36, 'Paris']
player = dict(zip(seq, value))

# 结果如下
{'name': 'messi', 'age': 36, 'city': 'Paris'}
相关文章
|
1月前
|
安全 Linux 网络安全
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(一)
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(一)
|
1月前
|
Python Windows 网络安全
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(二)
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(二)
|
20天前
|
JSON 测试技术 持续交付
自动化测试与脚本编写:Python实践指南
自动化测试与脚本编写:Python实践指南
24 1
|
11天前
|
Web App开发 测试技术 数据安全/隐私保护
自动化测试的魔法:使用Python进行Web应用测试
【10月更文挑战第32天】本文将带你走进自动化测试的世界,通过Python和Selenium库的力量,展示如何轻松对Web应用进行自动化测试。我们将一起探索编写简单而强大的测试脚本的秘诀,并理解如何利用这些脚本来确保我们的软件质量。无论你是测试新手还是希望提升自动化测试技能的开发者,这篇文章都将为你打开一扇门,让你看到自动化测试不仅可行,而且充满乐趣。
|
1月前
|
存储 安全 Serverless
Python学习四:流程控制语句(if-else、while、for),高级数据类型(字符串、列表、元组、字典)的操作
这篇文章主要介绍了Python中的流程控制语句(包括if-else、while、for循环)和高级数据类型(字符串、列表、元组、字典)的操作。
31 0
|
1月前
|
存储 自然语言处理 数据库
Python字典操作实现文章敏感词检索
Python字典操作实现文章敏感词检索
|
1月前
|
存储 JSON 数据处理
分析、总结Python使用列表、元组、字典的场景
分析、总结Python使用列表、元组、字典的场景
|
1月前
|
存储 Java Serverless
【Python】字典
【Python】字典
27 0
|
1月前
|
Python
Python操作:字符串--列表--元组--字典--运算符 (一)
Python操作:字符串--列表--元组--字典--运算符 (一)
|
1月前
|
Python
Python操作:字符串--列表--元组--字典--运算符 (二)
Python操作:字符串--列表--元组--字典--运算符 (二)

热门文章

最新文章