软件测试|一步到位教会你Python字典操作(一)
2023-03-07 09:04:14 时间
字典(dict)是 python 中的基础数据类型之一,字典的设计并不复杂,我们经常会用到这种数据类型。
同时,字典也有一些比较实用的情景。
学习任何一种编程语言,基础数据类型都是必备的底层基础,今天,我们来学习下 Python 中字典的使用。
基本用法
在 Python 中,字典是一种可以将相关的两个信息关联起来的操作,并且字典可存储的信息量几乎不受限制。
字典是 Python 提供的一种常用的数据结构,它用于存放具有映射关系的数据。为了保存具有映射关系的数据,Python 提供了字典,字典相当于保存了两组数据,其中一组数据是关键数据,被称为 key;另一组数据可通过 key 来访问,被称为 value。
- 创建字典 字典是以 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'}
- 获取字典中的元素 通过 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'
- 在字典中修改或添加元素 在字典中,可以修改已有 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'}
- 从字典中删除元素 从字典中删除元素,或者删除整个字典,有以下一些方式。
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()
结果如下:
{}
字典内置函数&方法
- len() len(dict)计算字典元素个数,即键的总数。player = {'name': 'messi', 'age': 36 , '俱乐部':'大巴黎', 'gender': 'male'} len(player) # 输出如下: 4player = {'name': 'messi', 'age': 36 , '俱乐部':'大巴黎', 'gender': 'male'} str(player) # 输出如下 {'name': 'messi', 'age': 36, '俱乐部': '大巴黎', 'gender': 'male'}
- str(dict) 输出字典可打印的字符串表示
- type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型
player = {'name': 'messi', 'age': 36 , '俱乐部':'大巴黎', 'gender': 'male'}
type(player)
# 输出如下
<class 'dict'>
- 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')])seq = ['name', 'age', 'city'] value = ['messi', 36, 'Paris'] player = dict(zip(seq, value)) # 结果如下 {'name': 'messi', 'age': 36, 'city': 'Paris'}
- zip()方法
相关文章
- python中封装与解构
- antdesign + koa 实现图片上传
- 【k哥爬虫普法】Python程序员爬取视频资源13万部,一分钱没挣,获刑2年!
- 性能测试|JMeter逻辑控制器(六)
- 【复制即用】下载ERA-5数据的python脚本分享
- 性能测试|JMeter逻辑控制器(九)
- [oeasy]python0045_四种进制_binary_octal_decimal_hexadecimal
- Python路面平整度检测车辆数据——速度修正
- 「Python实用秘技12」像导入模块一样导入ipynb文件
- 通过Python爬虫获取【小说网站】数据,保姆级教学
- 看完这个,还不会【Python爬虫环境】,请你吃瓜
- 关于Python可视化Dash工具—Choropleth_Mapbox地图实现
- Python绘制地图神器,上手直接开大!
- 手把手教你用Python爬取百度搜索结果并保存
- Python正则表达式大全
- 如何在VS Code 中调试 Python 脚本?
- 如何使用 Python 绘制 COVID-19 的全球扩散图
- 用Python内置模块处理ini配置文件
- 用python制作炫酷的滚动地球
- 【转】Jquery ajax与asp.net MVC前后端各种交互