软件测试|一步到位教会你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'}
相关文章
|
17天前
|
存储 开发者 Python
Python中的collections模块与UserDict:用户自定义字典详解
【4月更文挑战第2天】在Python中,`collections.UserDict`是用于创建自定义字典行为的基类,它提供了一个可扩展的接口。通过继承`UserDict`,可以轻松添加或修改字典功能,如在`__init__`和`__setitem__`等方法中插入自定义逻辑。使用`UserDict`有助于保持代码可读性和可维护性,而不是直接继承内置的`dict`。例如,可以创建一个`LoggingDict`类,在设置键值对时记录操作。这样,开发者可以根据具体需求定制字典行为,同时保持对字典内部管理的抽象。
|
28天前
|
数据格式 Python
如何使用Python的Pandas库进行数据透视图(melt/cast)操作?
Pandas的`melt()`和`pivot()`函数用于数据透视。基本步骤:导入pandas,创建DataFrame,然后使用这两个函数转换数据格式。示例代码展示了如何通过`melt()`转为长格式,再用`pivot()`恢复为宽格式。输入数据是包含&#39;Name&#39;和&#39;Age&#39;列的DataFrame,最终结果经过转换后呈现出不同的布局。
39 6
|
1月前
|
索引 Python
如何使用Python的Pandas库进行数据透视表(pivot table)操作?
如何使用Python的Pandas库进行数据透视表(pivot table)操作?
16 0
|
1月前
|
Unix Shell Linux
赞!优雅的Python多环境管理神器!易上手易操作!
赞!优雅的Python多环境管理神器!易上手易操作!
|
12天前
|
人工智能 机器人 C++
【C++/Python】Windows用Swig实现C++调用Python(史上最简单详细,80岁看了都会操作)
【C++/Python】Windows用Swig实现C++调用Python(史上最简单详细,80岁看了都会操作)
|
6天前
|
Web App开发 测试技术 网络安全
|
8天前
|
安全 Python
python字典的内置方法
Python字典主要方法包括:`keys()`(返回所有键)、`values()`(返回所有值)、`items()`(返回所有键值对)、`get()`(安全取值,键不存在时返回默认值)、`setdefault()`(设置默认值)、`update()`(合并字典)、`pop()`(删除并返回值)、`clear()`(清空字典)、`copy()`(浅拷贝)、`fromkeys()`(新建字典并设置默认值)、`popitem()`(随机删除键值对)。
8 0
|
10天前
|
JSON 测试技术 持续交付
自动化测试与脚本编写:Python实践指南
【4月更文挑战第9天】本文探讨了Python在自动化测试中的应用,强调其作为热门选择的原因。Python拥有丰富的测试框架(如unittest、pytest、nose)以支持自动化测试,简化测试用例的编写与维护。示例展示了使用unittest进行单元测试的基本步骤。此外,Python还适用于集成测试、系统测试等,提供模拟外部系统行为的工具。在脚本编写实践中,Python的灵活语法和强大库(如os、shutil、sqlite3、json)助力执行复杂测试任务。同时,Python支持并发、分布式执行及与Jenkins、Travis CI等持续集成工具的集成,提升测试效率和质量。
|
13天前
|
监控 物联网 Linux
python测试串口最大通信速率
【4月更文挑战第5天】
|
14天前
|
jenkins 测试技术 持续交付
软件测试|docker搭建Jenkins+Python+allure自动化测试环境
通过以上步骤,你可以在Docker中搭建起Jenkins自动化测试环境,实现Python测试的自动化执行和Allure报告生成。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
34 6