字典 dictionary - 详解

news/2025/10/13 13:23:08/文章来源:https://www.cnblogs.com/slgkaifa/p/19138266

字典 dictionary - 详解

01字典-----创建字典

1.定义:

字典存储一系列的键值对:key;value,即一个key对应着一个value

2.创建字典1:

1.pthon中用{}表示字典,可以使用{}创建一个字典

2.字典中的key和value之间用冒号:分割,元素之间用逗号,分割

3.字典中的key只能为数字,字符串,元组,大多数情况利用字符串作为key

4.value的类型没有限制

3.创建字典2:

①利用dict创建字典

a=dict([[key1,value1],[key2,value2],

②此时key只能为字符串

4.创建字典3:

①利用dict创建字典

[key3,value3]])a=dict(key1=value1,key2=value2,key3=value3)

a=dict([(key1,value1),(key2,value2),(key3,value3)])

a=dict(((key1,value1),(key2,value2),(key3,value3)))

包含两个元素的列表或者元组,二元组列表就是②可以传入一个列表或者元组,每一个元素也

③此时可以按照第一个元素作为key,第二个元组作为value

5.组装函数

①zip(sequence1,sequence2)

②把多个序列相同的下标元素组装成元组,结果是一个可迭代对象

③结果要转换成list,但是首次转换后迭代器为空

keys=['a','b','c']
value=[123,456,789]
zipped=zip(keys,value)
print(zipped)
print(list(zipped))
print(list(zipped))

#<zip object at 0x0000029DBD619F80>
#[('a', 123), ('b', 456), ('c', 789)]
#[]

6.创建字典4

利用list(zip(key,value))将二者组装好,接着作为dict的初始化

keys=['a','b','c']
value=[123,456,789]
a=dict(list(zip(keys,value)))
print(a)

所有创建字典的方法都要满足:key不能重复,value无限制;key必须是字符串,数字,元组不可变的类型

02.字典-----访问字典

1.知道下标

将key看做下标,通过key来获取value,a[x]:a为dict,x为a中的一个key,必须存在否则会报错

keys=['a','b','c']
value=[123,456,789]
a=dict(list(zip(keys,value)))
print(a)

print(a['a'],a['b']) #123 456
print(a['d']) #报错

2.不知道下标

需要查询字典中x对应的value,使用get途径

  1. a.get(x,value=None),a表示字典,x表示查询的key,value表示默认值
  2. 倘若x在字典的key中,则上述的结果为a[x],倘若不存在,上述结果为value

keys=['a','b','c']
value=[123,456,789]
a=dict(list(zip(keys,value)))
print(a)

#‘a’是key,则输出a['a']

print(a.get('a','XXX'))

key,输出给定默认值XXX就是#'d'不

print(a.get('d','XXX'))

key,没有设定默认值,则此时为None就是#'e'不

print(a.get('e'))

03.字典基本操作

1.添加和修改元素

直接利用利用key可以访问对应的value,类似的,添加元素,修改元素也是直接利用key和value就能进行添加或者更新

a={}

a['语文']=80

a['数学']=99

#添加元素

a['语文']=85

#修改元素

2.删除元素

  • 删除字典中的键值对,可以用python本身的删除语法del

s={'a':123,'b':456,'c':789}

del s['a']

  • 也能够用字典的删除方式pop

s={'a':123,'b':456,'c':789}

s.pop('a')

3.遍历字典

1.与list一样,直接利用for语句就能够遍历字典

for x in a:其中x是循环变量,a是字典,此时遍历的是a的key列表

s={'a':123,'b':456,'c':789}

for x in s:

print(x)

#a

b

c

2.利用a.keys(),a.values(),a.items()可以分别循环遍历key,value,二元组(key,value)

s={'a':123,'b':456,'c':789}

for x in s.keys():

print(x)

#a b c

for y in s.values():

print(y)

#123 456 789

for x,y in s.items():

print(x,y)

#a 123

b 456

c 789

4.判断是否存在元素

①x in a,x in a.keys():判断x是否在a的key中

②x in a.values():判断x是否在a的value中

否在a的key中,并且对应的value为y就是③(x,y) in a.items():判断x

5.拷贝字典

与list类似,直接复制无法进行复制,需要利用copy函数做完复制

直接复制相当于是“引用”,就是添加一个别名

s={'a':123,'b':456,'c':789}
t=s.copy()
s['d']=1000
print(s)
print(t)
#{'a': 123, 'b': 456, 'c': 789, 'd': 1000}
#{'a': 123, 'b': 456, 'c': 789}

6.合并两个字典

字典利用update方法可以将另一个字典的key-value对更新到已有字典中

a.update(b):把字典b中的每个元素放入a中更新

  • 如果b中的key在a中没有,则直接在a中添加一组新的key-value对
  • 如果b中的key在a中有,则直接更新对应的value

s={'a':123,'b':456,'c':789}
t={'a':321,'d':1000}
s.update(t)
print(s)

#{'a': 321, 'b': 456, 'c': 789, 'd': 1000}

7.例题

输入一行文本(一组数据),统计每个字符(数字)出现次数

s=input()
C={}
for c in s:
#每次字母出现次数+1,最开始次数记为0
C[c]=C.get(c,0)+1
for x,y in C.items():
print("{}:{}".format(x,y))

如果需只输出小写字母

s=input()
C={}
for c in s:
#每次字母出现次数+1,最开始次数记为0
if c.lower().islower():
C[c.lower()]=C.get(c.lower(),0)+1
for x,y in C.items():
print("{}:{}".format(x,y))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/936090.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于MATLAB的电力系统潮流计算程序设计与实现

1. 系统模型与核心算法 潮流计算的核心是求解非线性方程组,采用牛顿-拉夫逊法实现迭代求解,适用于大规模电力系统。程序支持PQ、PV和Slack节点分类,包含节点导纳矩阵构建、雅可比矩阵生成及收敛性判断模块。 数学模…

2025年10月防水公司最新权威推荐榜:专业施工与优质服务的口碑之选

2025年10月防水公司最新权威推荐榜:专业施工与优质服务的口碑之选随着建筑行业的快速发展,防水工程作为保障建筑物安全和使用寿命的关键环节,其重要性日益凸显。为了帮助筛选防水公司品牌,特此发布权威推荐榜单,为…

2025/10/13 做题记录

codeforces 57A 给定一个边长为n的正方形,给你正方形上的两个点,要你求沿着正方形的边的最短距离。 将正方形拉成一条直线,讨论四条边,就可以得到两个点在这条直线上得到坐标。答案即为min(abs(d1-d2),4*n-abs(d1-…

springboot图片上传,且同时压缩图片

技术说明:springboot:2.1.4.RELEASE jQuery Ajax mysql:8.0.32pom.xml,引入jar包,方便图片压缩。如果你图片不需要压缩,那这个可以不要<!--处理图片压缩大小--><dependency><groupId>net.coobi…

2025年10月氧化镁厂家最新推荐排行榜,轻烧氧化镁,重烧氧化镁,活性氧化镁,高纯氧化镁公司推荐!

2025年10月氧化镁厂家最新推荐排行榜:轻烧氧化镁、重烧氧化镁、活性氧化镁、高纯氧化镁公司推荐随着工业和科技的不断发展,氧化镁作为重要的无机化工原料,在多个领域中发挥着重要作用。为了帮助筛选氧化镁品牌,特此…

【题解】QOJ 8351 [IOI 2022 中国国家队集训@南京 Day 2] Ruin the legend

QOJ 8351 Ruin the legend 题意 给定一个正整数序列 \(a\) 和一个正整数 \(k\),保证 \(a_i\) 严格单调递增,求有多少长度为 \(n\) 的序列 \(p\) 满足:\(p\) 是一个 \(a\) 重排后得到的序列。对于任意 \(1\le i< …

2025年10月磨粉机厂家最新推荐排行榜,超细磨粉机,雷蒙磨粉机,立式磨粉机,高效节能磨粉机公司推荐!

2025年10月磨粉机厂家最新推荐排行榜:超细磨粉机、雷蒙磨粉机、立式磨粉机、高效节能磨粉机公司推荐!随着工业技术的不断发展,磨粉机在多个行业中的应用越来越广泛。从矿山、化工到建筑材料,磨粉机的性能和效率直接…

2025年10月七水硫酸锌厂家最新推荐排行榜:专业生产与优质服务的行业首选!

2025年10月七水硫酸锌厂家最新推荐排行榜:专业生产与优质服务的行业首选!行业背景介绍随着工业和农业领域的不断发展,七水硫酸锌作为重要的化工原料,其需求量逐年增长。七水硫酸锌广泛应用于化肥、饲料添加剂、医药…

2025年10月气柱袋厂家最新推荐排行榜:专业生产与客户口碑双优之选!

2025年10月气柱袋厂家最新推荐排行榜:专业生产与客户口碑双优之选!随着电子商务和物流行业的迅猛发展,包装材料的需求也在不断增长。气柱袋作为一种高效的缓冲包装材料,因其轻便、环保、防震性能好等特点,受到了越…

js逆向实战:爬取淘宝男装商品 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年10月抖音推广服务商最新权威推荐榜:专业运营与创意内容助力品牌高效增长!

2025年10月抖音推广服务商最新权威推荐榜:专业运营与创意内容助力品牌高效增长!随着短视频平台的迅猛发展,抖音已成为众多品牌进行营销推广的重要渠道。选择合适的抖音推广服务商,不仅能提升品牌的曝光度和影响力,…

实用指南:简易分析慢 SQL 的流程和方法

实用指南:简易分析慢 SQL 的流程和方法2025-10-13 13:10 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block …

2025年10月防水连接器定做厂家最新推荐榜单,专业定制与卓越品质信赖之选!

2025年10月防水连接器定做厂家最新推荐榜单,专业定制与卓越品质信赖之选!随着工业自动化和智能化的快速发展,防水连接器作为关键的电气连接部件,其重要性日益凸显。为了满足不同行业对防水连接器的多样化需求,市场…

2025年10月浇注型聚氨酯厂家最新推荐排行榜,专业生产与市场口碑深度解析!

2025年10月浇注型聚氨酯厂家最新推荐排行榜,专业生产与市场口碑深度解析!一、行业背景介绍浇注型聚氨酯作为一种高性能材料,在多个行业中有着广泛的应用,包括机械制造、汽车工业、建筑施工等。随着技术的不断进步和…

2025年10月通风天窗厂家最新推荐排行榜,工业/民用通风天窗,屋顶通风天窗,高效节能通风天窗公司推荐!

2025年10月通风天窗厂家最新推荐排行榜:工业/民用通风天窗,屋顶通风天窗,高效节能通风天窗公司推荐!随着建筑行业的发展和环保意识的提升,通风天窗在工业和民用建筑中的应用越来越广泛。为了帮助筛选通风天窗品牌…

深入解析:贝叶斯定理入门:用医学测试案例理解先验、后验、似然和证据概率

深入解析:贝叶斯定理入门:用医学测试案例理解先验、后验、似然和证据概率pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-famil…

2025年10月保洁公司最新权威推荐榜:专业服务与客户口碑之选

2025年10月保洁公司最新权威推荐榜:专业服务与客户口碑之选随着城市化进程的加快和人们生活水平的提高,保洁服务的需求日益增长。越来越多的企业和个人开始重视环境卫生,选择专业的保洁公司来提供清洁服务。为了帮助…

2025年10月网络营销推广/媒体投放/全案推广/新媒体营销/全媒体推广/推广代运营最新权威推荐榜单

2025年10月网络营销推广/媒体投放/全案推广/新媒体营销/全媒体推广/推广代运营最新权威推荐榜单随着数字化时代的到来,网络营销推广、媒体投放、全案推广、新媒体营销、全媒体推广以及推广代运营等服务变得越来越重要…

2025年10月安全光栅厂家最新推荐排行榜,超薄/四级/无盲区/红外/光电/小型/冲床/折弯机/机床安全光栅公司推荐

2025年10月安全光栅厂家最新推荐排行榜,超薄/四级/无盲区/红外/光电/小型/冲床/折弯机/机床安全光栅公司推荐随着工业自动化和智能制造的快速发展,安全光栅作为重要的安全防护设备,其市场需求持续增长。为了帮助用户…

深入解析:数据库造神计划第二十一天---JDBC编程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …