Python字典类型

今天将会介绍一种在python中十分常见的组合数据类型——字典

通过一些实例来理解字典中的常规操作

什么是字典类型?

列表中查找是通过整数的索引(元素在列表中的序号)来实现查找功能。

但很多应用程序需要更加灵活的查找方式,即表示索引的键和对应的值组成。

比如说:“用户名”查找“手机号”,“学号”查找“学院班级”等等

通过任意键信息查找一组数据中值信息的过程叫“映射”

Python语言中,通过字典来实现映射。

简单理解为,字典为处理信息与信息相对应映射关系的组合数据类型。

字典类型操作

创建一个字典,内容为国家与首都的映射,并添加中国、美国、法国为例

#第一中添加方式
d={"中国":"北京","美国":"华盛顿"}
#第二种添加方式
d["法国"]="巴黎"
print(d)

这里需要注意一点,字典和集合 一样具有无序性,所以返回结果可能和输入顺序有所差别

字典类型主要结构为 :对应

在上例中,中国、美国、法国就相当于键,北京、华盛顿、巴黎属于值。

1.keys()

函数作用为返回所有“键”信息,也就是返回“中国、美国、法国”,不需要传入任何参数,使用方法如下:

d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
print(d.keys())

结果如下所示:

提示:可以将结果以列表的方式输入,只需要加入list()转换一下

2.values()

与keys()函数作用相似,作用为返回字典的值信息,也就是返回“北京、华盛顿、巴黎”,同样不需要参数,使用方法如下

d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
print(d.values())

结果如下所示:

3.items()

其主要作用为返回字典所有的键值对,看起来和直接打印字典本身差距不大,那专门来对比下效果:

d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
#直接打印
print(d)
#打印键值对
print(d.items())

效果如下:

很明显,通过items()打印键值对,键值对会通过()来表示相关关系

4.get(<key>,<default>)

get()函数为判断函数,判断键是否有对应的值,若对应值存在 则返回对应值,若不存在则返回参数值,若未输入参数值,默认为none

举例子:输入键——中国,存在值——北京,则返回“北京”,输入键——泰国,不存在值,则返回none

d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
# 键中国有对应值,返回北京
print(d.get("中国"))
# 键泰国无对应值、无传入默认值,返回none
print(d.get("泰国"))
# 键意大利无对应值,有传入默认值"字典中无此数据" 返回默认值"字典中无此数据"
print(d.get("意大利","字典中无此数据"))

结果如下:

5.pop(<key>,<default>)

pop()函数与get()相似,使用方法相同,但是,pop()函数在get()的基础上,多加了一步,若键存在则在返回相应值的同时删除对应键,若不存在同get ()

d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
print(d)
print(d.pop("法国"))
print(d)

为效果明显,先打印原字典,通过pop删除后再打印字典,如下图所示,法国的键值对消失不见()

6.popitem()

函数作用为,随机从字典中选取一个键值对,并且以元组(key,walue)的形式返回

d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
print(d.popitem())

7.clear()

如同英文直译一样, clear()的作用为删除所有的键值对,也就是清空字典内部所有数据

d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
print(d)
d.clear()
print(d)

结果如下:

8.del<d>[<key>]

操作为传入键,删除对应的键值对.

d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
print(d)
del d["法国"]
print(d)

结果为:

9<key>in<d>

属于判断函数,若键在字典中为则返回true 否则返回false

d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
print("美国" -in d)

字典实战演练

例子1

D={“张三”:88,“李四”:90,“王五”:73,“赵六”:82}

1.字典中添加键值对“钱七”:90

D={"张三":88,"李四":90,"王五":73,"赵六":82}
D["钱七"]=90
print(D)

2.修改王五的信息为93

D={"张三":88,"李四":90,"王五":73,"赵六":82}
D["王五"]=93
print(D)

3.删除赵六对应的键值对

D={"张三":88,"李四":90,"王五":73,"赵六":82}
D.pop("赵六")
print(D)

例子2:

输入一串字符串,统计每一个字母出现的次数

s=input("输入:")
d={}
for i in s:
if i not in d :
d[i]=1
else:
d[i]=d[i]+1
print(d)

Python字典及相关操作(内含例题)的更多相关文章

  1. python字典及相关操作

    1.字典 1.1.字典特性 字典是一种key-value的数据类型.key必须可hash,必须为不可变数据类型,且必须是唯一的:value可以存放任意多个值.可修改.可以不唯一:字典是无序的,通过ke ...

  2. Python字符串的相关操作

    1.大小写转换 判断字符串 s.isalnum() #所有字符都是数字或者字母 s.isalpha() #所有字符都是字母 s.isdigit() #所有字符都是数字 s.islower() #所有字 ...

  3. python之字典的相关操作

    一.什么是字典 dict 用{}表示,用来存放键值对数据 {key:value} 键:具有唯一性,不能重复,不可变 必须是可哈希的(不可变的数据类型) 字典是无序的,没有索引 值: 没有任何限制 已知 ...

  4. python的字典及相关操作

    一.什么是字典 字典是Python中最强大的数据类型之一,也是Python语言中唯一的映射类型.映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的的关系,通常被认为是可变的哈希 ...

  5. python 字典的常见操作

    字典 字典的增删改查 字典的创建方式: # 创建字典类型 info = { 'name':'李白', ', 'sex':'男' } msg = { 'user01':'Longzeluola', 'u ...

  6. Selenium2+python自动化40-cookie相关操作

    前言 虽然cookie相关操作在平常ui自动化中用得少,偶尔也会用到,比如登录有图形验证码,可以通过绕过验证码方式,添加cookie方法登录. 登录后换账号登录时候,也可作为后置条件去删除cookie ...

  7. day07-Python运维开发基础(深/浅拷贝、字典/集合/相关操作)

    1. 深拷贝与浅拷贝 # ### 深拷贝 和 浅拷贝 """ a = 7 b = a a = 8 print(b) lst1 = [1,2,3] lst2 = lst1 ...

  8. python文件的相关操作

    python 目录 python 1.python文件的介绍 使用文件的目的 Python文件的类型主要有两种:文本文件和二进制文件. 操作文件的流程主要有三步:打开-操作-关闭操作. 2.文件的打开 ...

  9. 『无为则无心』Python序列 — 21、Python字典及其常用操作

    目录 1.字典的应用场景 2.字典的概念 3.创建字典的语法 4.字典常见操作 (1)字典的增加操作 (2)字典的删除操作 (3)字典的修改 (4)字典的查找 (5)copy()复制 1.字典的应用场 ...

随机推荐

  1. 基于Docker搭建大数据集群(五)Mlsql部署

    主要内容 mlsql部署 前提 zookeeper正常使用 spark正常使用 hadoop正常使用 安装包 微云下载 | tar包目录下 mlsql-cluster-2.4_2.11-1.4.0.t ...

  2. JS/jQuery点击某元素之外触发事件

    JQuery // 第一步:点击任何地方都触发事件 $(document).click(function(){ alert("点击当前页面的任何地方都触发此点击事件:"); }); ...

  3. 07-简单认识margin

    margin 外边距,表示边框到最近盒子的距离. 对于左右两边 <!DOCTYPE html> <html lang="en"> <head> ...

  4. Spark 学习笔记之 MONGODB SPARK CONNECTOR 插入性能测试

    MONGODB SPARK CONNECTOR 测试数据量: 测试结果: 116万数据通过4个表的join,从SQL Server查出,耗时1分多.MongoSparkConnector插入平均耗时: ...

  5. Kotlin编译时注解,简单实现ButterKnife

    ButterKnife在之前的Android开发中还是比较热门的工具,帮助Android开发者减少代码编写,而且看起来更加的舒适,于是简单实现一下ButterKnife,相信把下面的代码都搞懂,看Bu ...

  6. java第1天:简介,入门程序,变量,常量

    1 java语言简介 美国的SUN公司开发的静态面向对象的编程语言,后来被甲骨文公司收购,现在也是全球范围内最受欢迎的编程语言. *** 2 计算机进制的相互转换 进制 英文代号 2进制 bin 8进 ...

  7. PHP高效产生m个n范围内的不重复随机数(m<=n)

    该算法非常巧妙的取随机数的位置(数组的下标),替代取随机数本身,每次取到一个随机数之后,就将其在取值范围中排除,下一次仅会在剩下的数字中取,一次遍历就可以完成随机数的选取,效率相当高. functio ...

  8. dubbo配置负载均衡、集群环境

    再用dubbo作为项目架构的时候,给consumer消费者用nginx提供了负载均衡策略和集群的实现, 但是想了下,consumer再多,但是提供者还是一个,最后还不都是落到了这一个provider上 ...

  9. JDBC访问数据库的基本步骤

    加载驱动 通过DriverManager对象获取连接对象Connection 通过连接对象获取会话 通过会话进行数据的增删改查,封装对象 关闭资源

  10. B-线性代数-矩阵转置

    [TOC] 更新.更全的<机器学习>的更新网站,更有python.go.数据结构与算法.爬虫.人工智能教学等着你:https://www.cnblogs.com/nickchen121/ ...