python--字典

【Python】 字典 在 Python 编程语言中,字典 () 是一种极其强大且用途广泛的内置数据结构。它允许我们存储键值对 (key-value pairs) 的集合。每一个键 (key) 都是唯一的,并且与一个值 (value) 相关联。你可以将字典想象成现实生活中的词典,其中每个单词(键)都有其对应的释义(值)。字典的核心特性:为何字典如此重要?理解字典的内部工作原理和各种操作对于编写高效、可读且健壮的 Python 代码至关重要。Python 提供了多种创建字典的方式,每种方式都有其适用的场景。这是创建字典最常见和最直接 阅读详情

字典

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值(key=>value)对用冒号   :   分割;每个对之间用逗号    ,   分割,整个字典包括在花括号{   }中 ,格式如下所示:

d = {key1 : value1, key2 : value2 }
键必须是唯一的,但值则不必。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
print(dict)  #打印为{'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
dict1 = { '爱好': ['吃','喝'] }  #可为列表
print(dict1)   #打印为{'爱好': ['吃', '喝']}
dict2 = { 'abc': (123, 98.637) }   #可为字符
print(dict2)   #打印为{'abc': (123, 98.637)}

通过key进行操作   :  增    删    改   查

增     改:

dict = {'Name': 'Jack', 'Age': 7, 'Class': 'First'}
dict['Name'] = '小明'     #如果字典里面存在,则直接进行覆盖(修改)   没有则抛异常
print(dict)      #打印为{'Name': '小明', 'Age': 7, 'Class': 'First'}
dict['走起来']='嗨嗨嗨'   #如果原字典里面没有 则直接添加到末尾
print(dict)     #打印为{'Name': '小明', 'Age': 7, 'Class': 'First', '走起来': '嗨嗨嗨'}
删 :

1.del  删除   如果值存在就直接删   不存在报异常

del dict['Name']   #  存在直接删除   没有则报异常
print(dict)   #打印为 {'Age': 7, 'Class': 'First'}

2.pop()  函数  删除    返回值被删除的值  不存在报异常   ;

          如果在pop(  ,   ) 逗号后面接默认值, key的值不存在也不抛异常  直接打印默认值

dict = {'Name': 'Jack', 'Age': 7, 'Class': 'First'}
ret=dict.pop('Class')   #如果存在 删除后,返回的删除的值   不存在报异常
print(ret)    #打印为  First
ret=dict.pop('boss','不存在')
print(ret)      #打印为  不存在

3.popitem()   随机返回并删除字典中的一对键和值(一般删除末尾对) ; 

          如果字典已经为空,却调用了此方法,就报出KeyError异常

citys={
    '北京':{
        '丰台':['角门西','天坛'],
        '朝阳':['三里屯','国贸'],
        '海淀':['中关村','公主坟']
    },
    '山西':{
        '太原':['迎泽区','小店区'],
        '忻州':['五台山','芦芽山'],
        '大同':['九龙壁','云冈石窟']
    }
}
pop=citys.popitem()
print(pop)
#打印为('山西', {'太原': ['迎泽区', '小店区'],
#                '忻州': ['五台山', '芦芽山'], '大同': ['九龙壁', '云冈石窟']})

查  :    建议使用get() 函数查找

1.get()  --> 函数     get(  key ,   默认值)     存在直接打印   不存在返回默认值(None) 默认值可随意修改

dict = {'Name': 'Jack', 'Age': 7, 'Class': 'First'}
print(dict.get('Alice'))      # 不存在  打印默认值    None
print(dict.get('Alice','不存在'))   #不支持 打印默认值(不存在)
print(dict.get('Name'))      # 存在直接打印 Jack

2.通过key的值查询

dict = {'Name': 'Jack', 'Age': 7, 'Class': 'First'}
print(dict['Name'])  #通过key的值查询  存在直接打印   打印为Jack
print(dict['Boss'])  #通过key的值查询     不存在 抛异常
字典遍历:

1.keys() 方法以列表返回一个字典所有的键。

2.values() 方法以列表返回字典中的所有值。

3. items() 方法以列表返回可遍历的(键, 值) 元组数组。

phones={'110':'警察','120':'急救','119':'火警'}
for key in phones.keys():   
    print(key)   #打印为110  120 119
for value in phones.values():
    print(value)  #打印为  警察 急救 火警
for item in phones.items():
    print(item[0],item[1])  #打印为   110 警察   120 急救  119 火警

字典键的特性:

1. 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住

dict = {'Name': 'Runoob', 'Age': 7, 'Name': '小菜鸟'}
print ("dict['Name']: ", dict['Name'])  #打印结果为 dict['Name']:  小菜鸟

2 .键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行

和list比较,dict有以下几个特点: 

查找和插入的速度极快,不会随着key的增加而变慢;

需要占用大量的内存,内存浪费多。

而list相反:

查找和插入的时间随着元素的增加而增加;

占用空间小,浪费内存很少。


字典支持无限值嵌套 :

citys={
    '北京':{
        '丰台':['角门西','天坛'],
        '朝阳':['三里屯','国贸'],
        '海淀':['中关村','公主坟']
    },
    '山西':{
        '太原':['迎泽区','小店区'],
        '忻州':['五台山','芦芽山'],
        '大同':['九龙壁','云冈石窟']
    }
}
for city in citys.keys():
    print(city)
    for qu in citys.get(city).keys():
        print('\t'+qu)
        print('\t\t'+str(citys.get(city).get(qu)))
#最后打印结果为
#北京
#	丰台
#		['角门西', '天坛']
#	朝阳
#		['三里屯', '国贸']
#	海淀
#		['中关村', '公主坟']
#山西
#	太原
#		['迎泽区', '小店区']
#	忻州
#		['五台山', '芦芽山']
#	大同
#		['九龙壁', '云冈石窟']
字典内置函数&方法

len()      str()            type()         clear()         copy()     keys()    

values()items()     pop(key) 如没有key 抛异常

get("key","default") 


clear()   清除      返回值为None

copy()  复制 

phones={'110':'警察','120':'急救','119':'火警'}
cop = phones.copy()
print(cop)  #打印为    {'110':'警察','120':'急救','119':'火警'}
print(phones.clear())  #打印为:  none







【Python】新手入门:什么是Python字典?python空字典如何创建?Python字典中的值如何访问?Python字典如何修改?如何删除python字典元素?python字典内建函数有哪些? 字典是Python核心数据结构,使用花括号定义,元素以“键:值”形式存储并由逗号分隔。核心特性是​​键的唯一性​​(键不可重复且必须为不可变类型),通过键名直接访问对应值(如字典名['键'])。字典内容可动态修改:支持新增键值对、修改已有键的值、删除指定键或清空全部内容。其内置方法支持高效操作:检查键是否存在、获取所有键/值列表、批量更新数据等。字典凭借​​键值映射机制​​,成为存储无序数据集合(如配置信息、属性映射)的理想工具,提供远超列表的查询效率。 阅读详情

相关推荐

data_dict

自卫队 该项目是使用版本11.0.1生成的。 开发服务器 为开发服务器运行ng serve 。 导航到http://localhost:4200/ 。 如果您更改任何源文件,该应用程序将自动重新加载。 代码脚手架 运行ng generate component component-name生成一个新的组件。 您还可以使用ng generate directive|pipe|service|class|guard|interface|enum|module 。 建造 运行ng build来构建项目。 构建工件将存储在dist/目录中。 使用--prod标志进行生产构建。 运行单元测试 运行ng test通过执行单元测试。 运行端到端测试 运行ng e2e以通过执行端到端测试。 进一步的帮助 要获得有关Angular CLI的更多帮助,请使用ng help或查看“ 页面。

AJ 组件库之通用数据字典 DataDict

数据字典(Data Dictionary)是一种用户可以访问的记录数据库和应用程序元数据的目录。数据字典在系统也是必备的组件,对此我们想想要怎么做

zhangxin09的专栏 3042

别再调参了!用Simulink手把手教你搞定FOC电机速度环PI控制器(附模型下载)

本文详细介绍了如何使用Simulink搭建FOC电机速度环PI控制器,通过模最优准则和系统化调试方法,避免传统手动调参的繁琐过程。文章包含从传递函数推导到参数自动整定的完整流程,并提供了实战调试技巧与异常处理指南,帮助工程师快速实现电机控制系统的稳定运行。

weixin_42519985的博客 415

数据字典Data Dict

数据字典 所有的数据表都属于数据库对象,每当创建一张数据表的时候,会自动在指定的数据字典表执行一个增加语句(这个增加语言我们是不知道的),数据字典的数据操作只能通过命令完成,不能直接使用SQL完成.在Oracle中专门提供了一组数据专门用于纪录数据库对象信息、对象结构、管理信息、存储信息的数据表,那么这种类型的表就称为数据字典,在Oracle中一共定义了两类数据字典: ...

weixin_30849403的博客 994

卡诺图化简法

目录 1.学前需要了解知识点 2.卡诺图(karnaugh map) 3.逻辑函数的卡诺图化简法 4.总结 1.学前需要了解知识点 最小项的定义 最小项的表示方法 最小项的相邻性 最小项的定义:一个函数的某个乘积项包含了函数的全部变量,其中每个变量都以原变量或反变量的形式出现,且仅出现一次,则这个乘积项称为该函数的一个标准积项,通常称为最小项。 最小项的表示方法:通常用来表...

hahasusu的专栏 17万+

QEMU+KVM实战:5分钟搞定Ubuntu 24.04虚拟机搭建(附性能优化技巧)

本文详细介绍了在Linux宿主机上使用QEMU和KVM快速搭建Ubuntu 24.04虚拟机的完整实战流程。内容涵盖从环境准备、核心组件解析到具体的安装命令,并重点分享了针对CPU、内存、存储I/O及网络性能的深度优化技巧,旨在帮助用户构建一个响应迅速、资源隔离良好的高性能虚拟化开发与测试环境。

j2k3l4的博客 754

python数据类型【字典(dict)】

字典是无序,键不重复且元素只能是键值对的可变的容器 字典也是个容器元素必须是键值对键不能重复,重复会被覆盖 无序(在python3.6+字典就是有序了,之前的字典都是无序的) 字典对键值的要求: 一般情况在什么情况下会用到字典?表示一组固定信息,用字典更加直观 2.独有方法 获取值 get 【键不存在,不报错,默认返回None】 所有的键 keys() 注意:在python2中字典.keys()直接获取到的是列表,而python3中返回的是高仿列表,这个高仿的列表可以被循环显示 所

m0_46926492的博客 1384

LVGL配置文件lv_conf.h详解

lv_conf.h是一个用户级别的文件,它不属于内核的部分,因此,在不同的工程中,该文件有可能存在差异。lv_conf.h文件具有两大功能:(1)配置功能:内存、屏幕刷新周期、输入设备的读取周期,等等;(2)裁剪功能:使能失能某些功能,有效地优化Flash的分配。

qq_28576837的博客 5561

data.to_dict()与dict(data)获取到的数据的区别

转载于:https://www.cnblogs.com/wapn/p/9650936.html

weixin_30633507的博客 1185

大白话系列:什么是微服务

用大白话和实际例子来通俗易懂地告诉你什么是微服务~

2401_87403086的博客 1242

Hermes Agent 安装部署完全指南

Hermes Agent安装部署指南提供了两种安装方式:一键脚本安装和手动分步安装。该AI助手支持多平台运行(Linux/macOS/WSL2),核心功能仅需Git作为前置依赖,其他依赖如Python、Node.js等均由安装脚本自动处理。文档详细介绍了系统要求、依赖管理、配置目录结构、环境变量设置以及10个手动安装步骤,并提供了功能模块化选项,用户可根据需求选择安装语音交互、浏览器自动化等扩展功能。安装完成后可通过hermes doctor命令验证环境,并通过交互式向导完成初始化配置。

简简单单Onlinezuozuo 2631

python中zip()函数的用法

zip函数的原型为:zip([iterable, …])参数iterable为可迭代的对象,并且可以有多个参数。该函数返回一个以元组为元素的列表,其中第 i 个元组包含每个参数序列的第 i 个元素。返回的列表长度被截断为最短的参数序列的长度。只有一个序列参数时,它返回一个1元组的列表。没有参数时,它返回一个空的列表。import numpy as np a=[1,2,3,4,5] b=(1,2,3,

张康的博客 10万+

①电子产品拆解分析-暖手宝

电子产品拆解分析-暖手宝 ①按键三档调温暖手; ②长按进入氛围呼吸灯; ③安卓接口充电以及支持USB输出;

a6662580的博客 5296

python字典包含字典_Python字典教学

python字典包含字典 Python offers a variety of data structures to hold our information —the dictionary being one of the most useful. Python dictionaries quick, easy to use, and flexible. As a beginning prog...

cumei1658的博客 4576

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Python 字典中嵌套字典的方法

Python 字典中嵌套字典的方法 在字典中嵌套字典的效果 {‘1’: {‘key1’: ‘value1’, ‘key2’: ‘value2’}, ‘2’: {‘key1’: ‘value1’, ‘key2’: ‘value2’}, … ‘n’:{‘key1’: ‘value1’, ‘key2’: ‘value2’}} 首先创建一个字典dict 再创建字典中的字典innerdict 直接使用字典添加键值对的方法添加,只不过value为一个字典 dict={} innerdict={'key1': 'valu

Llmzw的博客 2万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

python字典嵌套字典构造_Python字典嵌套字典

最近总是在python中遇到类似mapmp的表达式,python中应如何表达这一内容呢?(一) 嵌套字典的生成两个维度的字典from collections import defaultdictd = defaultdict(defaultdict)#构造时先判断key对应的value值在不在if 2 not in d[1]:d[1][2]=1else:d[1][2]+=1更多维度的字典from ...

weixin_39669147的博客 974

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

python 之字典及生成字典

python 之字典 1、字典是Python中的一种序列结构,和列表list、元组tuple、字符串string等很接近,但是也有较大的区别,主要是其无序性,同时采取了键值对的形式来描述、表示元素。用大括号表示{}表示,元素之间用,进行分割,键值对之间用:分割。一般值用字符串的形式、当然也可以是列表、元组等形式。 2、创建字典,主要有以下几种方法。 1、直接创建法。 dict = {1:"karl",2:"inter",3:(1,2,3,4,5,),4:[2,4,6,8]} 2、使用两个列表来进行创建,一

u011607898的博客 2967

Python——字典

字典是Python中唯一内建的映射类型。字典中的值并没有特殊的顺序,但是都存储在一个特定的键(Key)里。键可以是数字、字符串甚至是元组。

bolike的专栏 2万+

python字典包含字典_庞大的Python字典指南

python字典包含字典 什么是Python字典? 仅次于Python列表的字典或“ dict”是在内存中用于存储一系列值(也称为集合)的地方。 字典是特殊的,因为没有使用数字索引按顺序引用值。 而是在字典中, 用用户定义的键来引用值 ,就像物理词典中的单词是与其含义的“值”相关联的“键”一样。 该键通常是一个字符串,但可以是任意数量的数据类型。 <code class="Pytho...

编程故事的地方 839

python中字典的索引_python字典索引

广告关闭腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元!提到字典大家应该都不陌生,小学大家应该都用过。 ? 字典的前几页,一般是索引,可以按照拼音来检索,也可以按照偏旁部首来检索。 索引的好处就是可以加快检索的速度,便于查找。 每一个索引会对应一个字。 ?那么python字典又是什么呢? 字典是 python 提供的一种常用的数据结构,它...

weixin_39834984的博客 6982

【Python】字典

本文介绍了Python字典的基本概念、创建方法和访问方式。字典是键值对的无序可变容器,通过键快速查找值,底层采用哈希表实现高效操作。创建字典可通过花括号{}、dict()构造函数、fromkeys()方法和字典推导式。访问字典项主要有两种方式:方括号[]直接访问(键不存在会报错)和get()方法安全访问(可设默认值)。字典键必须唯一且不可变,值可以是任意类型,推荐使用get()方法避免KeyError。字典还支持keys()、values()和items()等方法进行迭代访问。

m0_72516377的博客 1448

python中的字典

字典用于存储键值对(key-value pairs),其中每个键(key)都是唯一的,并且与一个值(value)相关联1、存储配置信息。2、表示对象或实体的属性(如用户信息、产品信息)。3、作为数据库查询结果的临时存储。4、统计词频、字符出现次数等。5、任何需要通过唯一标识符(键)快速查找相关信息(值)的场景。

wxJuly的博客 1232

Python•字典

🌾🌾🌾Python的字典用于存储键值对。字典中的每个元素都是一个键值对,其中键(key)必须是不可变的数据类型(如字符串、数字或元组),而值(value)可以是任意数据类型。字典用大括号{}表示,键值对之间用逗号分隔,每个键值对内部使用冒号分隔键和值。字典中所有键的集合是一个列表。字典的查找过程其实是单向的,这意味着只能用键来查找对应的值,而不能反过来用值去查找对应的键。

浩浩kids的博客 1111

python字典查询_python查询字典

广告关闭腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元!开发准备cas 的 python sdk 包含了用于访问和操作 cas 的所有 api。 相关资源github 地址 ,欢迎贡献代码以及反馈问题。 环境依赖python 2.7安装sdk安装 sdk 的方式有两种:pip 安装和手动安装。 方式一:使用pip安装pip install...

weixin_39596739的博客 2238

Python 字典

记得上学时,《新华字典》绝对堪称神器,检索内容相当给力。但随着网络的发展,现在几乎很少有人在用了。

青春不老,奋斗不止! 5482
上一篇: python--元组
下一篇: python--集合
Hao_python
博客等级 码龄9年 5粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值