首页 > 编程语言 >【python】容器之字典(dict)

【python】容器之字典(dict)

时间:2024-07-29 17:25:57浏览次数:19  
标签:python key1 dict value2 value1 my 字典

字典(dict)
字典是一种可变容器模型,且可存储任意类型对象。
字典的每个键值 key:value 对用冒号分割,每个键值对之间用逗号 分割,整个字典包括在花括号 {} 中 ,格式如下所示:d = {key1 : value1, key2 : value2 }
创建字典
Python中创建字典可以使用以下几种方法:
1 使用花括号 {} 并提供键值对来创建字典:

my_dict = {'key1': 'value1', 'key2': 'value2'}

2 使用 dict() 内置函数来创建字典:

my_dict = dict(key1='value1', key2='value2')

3 使用键列表和值列表来创建字典,可以使用 zip() 函数将键列表和值列表组合起来:

keys = ['key1', 'key2']
values = ['value1', 'value2']
my_dict = dict(zip(keys, values))

4 使用列表包含元组的方式创建字典:

data = [('key1', 'value1'), ('key2', 'value2')]
my_dict = dict(data)

5 使用推导式来创建字典:

my_dict = {x: x**2 for x in range(5)} # {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}

访问字典
字典名[key名字]

data = [('key1', 'value1'), ('key2', 'value2')]
my_dict = dict(data)

print(my_dict['key1']) #value1

修改字典
向字典添加新内容的方法是增加新的键/值对、修改已有键/值对如下实例:

data = [('key1', 'value1'), ('key2', 'value2'),('key3','value3')]
my_dict = dict(data)
my_dict['key4']='value4' #给字典添加元素

my_dict['key3']='value3new' #修改字典中的元素

print(my_dict) # {'key1': 'value1', 'key2': 'value2', 'key3': 'value3new', 'key4': 'value4'}

删除字典元素和字典

data = [('key1', 'value1'), ('key2', 'value2'),('key3','value3')]
my_dict = dict(data)
del my_dict['key3'] # 删除键是'key3'的条目
print(my_dict) # {'key1': 'value1', 'key2': 'value2'}
my_dict.clear() #清空字典中所有的条目
print(my_dict) # {}
del my_dict
print(my_dict) #NameError: name 'my_dict' is not defined

字典的特性
1 在同一个字典中,不允许同一个键出现两次,创建时如果同一个键被赋值两次,后面的赋值会覆盖前面的赋值。
2 键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行。
3 字典值可以没有限制地取任何 python 对象,既可以是标准的对象,也可以是用户定义的。

字典内置函数&方法
Python字典包含了以下常用内置函数:

方法描述
len(dict1)计算字典元素个数,即键的总数

Python字典包含了以下常用内置方法:

方法描述
dict1.clear()删除字典内所有元素
dict1.copy()返回一个字典的浅复制
dict.get(key, default=None)返回指定键的值,如果值不在字典中返回default值
dict.has_key(key)如果键在字典dict里返回true,否则返回false
dict.items()以列表返回可遍历的(键, 值) 元组数组
dict.keys()以列表返回一个字典所有的键
dict.values()以列表返回一个字典所有的值

标签:python,key1,dict,value2,value1,my,字典
From: https://blog.csdn.net/ximianyang/article/details/140716354

相关文章

  • 《最新出炉》系列入门篇-Python+Playwright自动化测试-57- 上传文件 - 番外篇
    1.简介前边的三篇文章基本上对文件上传的知识介绍和讲解的差不多了,今天主要是来分享宏哥在文件上传的实际操作中发现的一个问题:input控件和非input控件的上传API对其都可以上传成功。废话不多说直接进入正题。2.项目实战宏哥之前在讲解和分享Java+selenium系列时,将其划分为非in......
  • 【Python机器学习】朴素贝叶斯——使用朴素贝叶斯过滤垃圾邮件
    使用朴素贝叶斯解决一些现实生活中的问题时,需要先从文本内容中得到字符串列表,然后生成词向量。使用朴素贝叶斯对电子邮件进行分类的过程:1、收集数据:提供文本文件2、准备数据:将文本文件解析成词条向量3、分析数据:检查词条确保解析的正确性4、训练算法5、测试算法:构建一个......
  • Python 在PDF中添加、替换、或删除图片
    PDF文件中的图片可以丰富文档内容,提升用户的阅读体验。除了在PDF中添加图片外,有时也需要替换或删除其中的图片,以改进视觉效果或更新信息。本文将提供以下三个示例,介绍如何使用Python操作PDF文件中的图片:Python在PDF中添加图片Python替换PDF中的图片Python删除PDF中的图片......
  • 学精python selenium自动化只要读完这一篇
    第一篇基础案例篇大牛测试出品,视频/代码项目案例请联系作者:2574674466前言:●内卷时代测试人员如何面对?逃避还是提高自己?●为什么要学习selenium?●内功如何修炼学习目标:●学会selenium环境搭建、不同浏览器驱动●虚拟环境与代码异常原因分析●十六大元素定位......
  • [附开题]flask框架的校园疫情安全管理系统设计与实现tsckj(源码+论文+python)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景自新冠疫情全球爆发以来,校园作为高密度、高流动性的集体生活环境,其疫情防控工作面临着前所未有的挑战。学校师生众多,活动频繁,一旦发生疫情......
  • SCI一区级-python实现VMD-CNN-Transformer锂离子电池剩余寿命预测
    1. 基本介绍使用VMD结合皮尔逊相关系数实现对锂离子电池数据集去噪,消除数据中“容量再生问题”使用CNN-Transformer实现特征提取:利用卷积神经网络(CNN)进行特征提取。然后,利用改进的变压器模型来捕获时间序列中的固有相关性,并将其特征映射到未来的SOH值。采用迭代策略对每个......
  • Cmake配置Qt程序调用python库的配置方法
    在网上找了一些配置方法,最简单直接的是在cmake中加入如下语句:set(PYTHON_EXECUTABLE/Python/Python311/python.exe)include_directories("/PythonPython311/include")link_directories("/PythonPython311/libs")link_libraries(python3.lib)link_libraries(python311.lib)直......
  • VSCode 的 Python 扩展中更详细的属性提示
    假设我有一个对象args由parser.parse_args()返回,并且它应该具有像args.port=6001、args.seed=1234这样的属性。当我在VSCode中按args.时,port和seed不会显示在建议的属性列表中,因为这些属性可能会......
  • 编写用于关键字检测和按钮发送的 Python Telegram 机器人
    我需要帮助用Python为我的Telegram机器人编写代码。我有一个config.py文件,其中包含两个关键字列表:keywords和button_phrases。keywords-负责在单击时显示子按钮的按钮。Button_phrases-负责单击时打开链接的按钮。我需要机器人检查用户输入的文本并按以下顺......
  • 获取字典的特定索引
    我有这个lambda函数deflambda_handler(event,context):response=client.describe_maintenance_windows(Filters=[{'Key':'Name','Values':['test',]},],)MWId=re......