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

举报
霍格沃兹测试开发 发表于 2023/02/08 18:20:59 2023/02/08
【摘要】 字典(dict)是 python 中的基础数据类型之一,字典的设计并不复杂,我们经常会用到这种数据类型。同时,字典也有一些比较实用的情景。学习任何一种编程语言,基础数据类型都是必备的底层基础,今天,我们来学习下 Python 中字典的使用。 基本用法在 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'}
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。