百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

python笔记15:字典

liuian 2024-11-28 00:43 36 浏览

一、定义

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

2、一对一关系。键和值在内存中是无序存在的。

3、字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中

键必须是唯一的,但值则不必。

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

'''

利用哈希算法查找也就是先把字典分成几块然后根据字母或数字检索号函数及描述

二、字典常用方法

1、dict.clear()

删除字典内所有元素

2、dict.copy()

返回一个字典的浅复制

3、dict.fromkeys()

创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值

4,dict.get(key, default=None)

返回指定键的值,如果键不在字典中返回 default 设置的默认值

5,key in dict

如果键在字典dict里返回true,否则返回false

6、dict.items()

以列表返回一个视图对象

7、dict.keys()

返回一个视图对象

8,dict.setdefault(key, default=None)

和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default

9、dict.update(dict2)

把字典dict2的键/值对更新到dict里

10、dict.values()

返回一个视图对象

11、pop(key[,default])

删除字典 key(键)所对应的值,返回被删除的值。

12、popitem()

返回并删除字典中的最后一对键和值。

三、字典的操作

1、#创建字典

#创建空字典

dict01={}

print(type(dict01))

print(len(dict01))#len(dict)字典长度

#创建默认值:

dict01={'姓名':'张三','分数':90,'学校':'史家庄'}

#dict01=dict([("a","b"),("c","d")])#dict()创建列表字典

print(dict01)

2、#查找元素

print(dict01['学校']+dict01['姓名']+str(dict01['分数']))

3、#修改元素(根据键修改值)

dict02={'姓名':'张三','分数':90,'学校':'史家庄'}

dict02["分数"]=100

4、#添加元素(添加一个键并赋值)

dict02["班级"]="三班"

print(dict02)

5、#判断key键是否存在 (元素 in dict)字典中查找元素一般是先判断。

print("姓名" in dict02)

if "姓名" in dict02:

print(dict02["姓名"])

6、# 删除字典元素(能删单一的元素也能清空字典,清空只需一项操作。显式删除一个字典用del命令)

del dict02["学校"]

print(dict02)#删除一个元素

dict02.clear()#清空所有元素

print(dict02)

7、#遍历字典

dict03={'姓名':'张三','分数':90,'学校':'史家庄'}

#取键的元素key

for imt in dict03:#imt是键

print(imt)

print(dict03[imt])#值

#取值的元素values()

for imt in dict03.values():#imt代表的是值

print(imt)

#键和值一起用items()生成元组

for imt in dict03.items():

print(imt)

#直接从元生成的元组中取值。

for imt,ymt in dict03.items():

print(imt+":"+str(ymt))

相关推荐

python入门到脱坑函数—定义函数_如何定义函数python

Python函数定义:从入门到精通一、函数的基本概念函数是组织好的、可重复使用的代码块,用于执行特定任务。在Python中,函数可以提高代码的模块性和重复利用率。二、定义函数的基本语法def函数名(...

javascript函数的call、apply和bind的原理及作用详解

javascript函数的call、apply和bind本质是用来实现继承的,专业点说法就是改变函数体内部this的指向,当一个对象没有某个功能时,就可以用这3个来从有相关功能的对象里借用过来...

JS中 call()、apply()、bind() 的用法

其实是一个很简单的东西,认真看十分钟就从一脸懵B到完全理解!先看明白下面:例1obj.objAge;//17obj.myFun()//小张年龄undefined例2shows(...

Pandas每日函数学习之apply函数_apply函数python

apply函数是Pandas中的一个非常强大的工具,它允许你对DataFrame或Series中的数据应用一个函数,可以是自定义的函数,也可以是内置的函数。apply可以作用于DataF...

Win10搜索不习惯 换个设定就好了_window10搜索用不了怎么办

Windows10的搜索功能是真的方便,这点用惯了Windows10的小伙伴应该都知道,不过它有个小问题,就是Windows10虽然会自动联网搜索,但默认使用微软自家的Bing搜索引擎和Edge...

面试秘籍:call、bind、apply的区别,面试官为什么总爱问这三位?

引言你有没有发现,每次JavaScript面试,面试官总爱问你call、bind和apply的区别?好像这三个方法成了通关密码,掌握了它们,就能顺利过关。其实不难理解,面试官问这些问题,不...

记住这8招,帮你掌握“追拍“摄影技法—摄影早自习第422日

杨海英同学提问:请问叶梓老师,我练习追拍时,总也不能把运动的人物拍清晰,速度一般掌握在1/40-1/60,请问您如何把追拍拍的清晰?这跟不同的运动形式有关系吗?请您给讲讲要点,谢谢您!摄影:Damia...

[Sony] 有点残酷的测试A7RII PK FS7

都是好机!手中利器!主要是最近天天研究fs5,想知道fs5与a7rii后期匹配问题,苦等朋友的fs5月底到货,于是先拿手里现有的fs7小测一下,十九八九也能看到fs5的影子,另外也了解一下fs5k标配...

AndroidStudio_Android使用OkHttp发起Http请求

这个okHttp的使用,其实网络上有很多的案例的,但是,如果以前没用过,copy别人的直接用的话,可以发现要么导包导不进来,要么,人家给的代码也不完整,这里自己整理一下.1.引入OkHttp的jar...

ESL-通过事件控制FreeSWITCH_es事务控制

通过事件提供的最底层控制机制,允许我们有效地利用工具箱,适时选择使用其中的单个工具。FreeSWITCH是一个核心交换与混合矩阵,它周围有几十个模块提供各种功能特性。我们完全控制了所有的即时信息,这些...

【调试】perf和火焰图_perf生成火焰图

简介perf是linux上的性能分析工具,perf可以对event进行统计得到event的发生次数,或者对event进行采样,得到每次event发生时的相关数据(cpu、进程id、运行栈等),利用这些...

文本检索控件也玩安卓?dtSearch Engine发布Android测试版

dtSearchEngineforLinux(原生64-bit/32-bitC++和JavaAPIs)和dtSearchEngineforWin&.NET(原生64-bi...

网站后台莫名增加N个管理员,记一次SQL注入攻击

网站没流量,但却经常被SQL注入光顾。最近,网站真的很奇怪,网站后台不光莫名多了很多“管理员”,所有的Wordpres插件还会被自动暂停,导致一些插件支持的页面,如WooCommerce无法正常访问、...

多元回归树分析Multivariate Regression Trees,MRT

多元回归树(MultivariateRegressionTrees,MRT)是单元回归树的拓展,是一种对一系列连续型变量递归划分成多个类群的聚类方法,是在决策树(decision-trees)基础...

JMETER性能测试_JMETER性能测试指标

jmeter为性能测试提供了一下特色:jmeter可以对测试静态资源(例如js、html等)以及动态资源(例如php、jsp、ajax等等)进行性能测试jmeter可以挖掘出系统最大能处...