Python字典及相关操作(内含例题)
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字典及相关操作(内含例题)的更多相关文章
- python字典及相关操作
1.字典 1.1.字典特性 字典是一种key-value的数据类型.key必须可hash,必须为不可变数据类型,且必须是唯一的:value可以存放任意多个值.可修改.可以不唯一:字典是无序的,通过ke ...
- Python字符串的相关操作
1.大小写转换 判断字符串 s.isalnum() #所有字符都是数字或者字母 s.isalpha() #所有字符都是字母 s.isdigit() #所有字符都是数字 s.islower() #所有字 ...
- python之字典的相关操作
一.什么是字典 dict 用{}表示,用来存放键值对数据 {key:value} 键:具有唯一性,不能重复,不可变 必须是可哈希的(不可变的数据类型) 字典是无序的,没有索引 值: 没有任何限制 已知 ...
- python的字典及相关操作
一.什么是字典 字典是Python中最强大的数据类型之一,也是Python语言中唯一的映射类型.映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的的关系,通常被认为是可变的哈希 ...
- python 字典的常见操作
字典 字典的增删改查 字典的创建方式: # 创建字典类型 info = { 'name':'李白', ', 'sex':'男' } msg = { 'user01':'Longzeluola', 'u ...
- Selenium2+python自动化40-cookie相关操作
前言 虽然cookie相关操作在平常ui自动化中用得少,偶尔也会用到,比如登录有图形验证码,可以通过绕过验证码方式,添加cookie方法登录. 登录后换账号登录时候,也可作为后置条件去删除cookie ...
- day07-Python运维开发基础(深/浅拷贝、字典/集合/相关操作)
1. 深拷贝与浅拷贝 # ### 深拷贝 和 浅拷贝 """ a = 7 b = a a = 8 print(b) lst1 = [1,2,3] lst2 = lst1 ...
- python文件的相关操作
python 目录 python 1.python文件的介绍 使用文件的目的 Python文件的类型主要有两种:文本文件和二进制文件. 操作文件的流程主要有三步:打开-操作-关闭操作. 2.文件的打开 ...
- 『无为则无心』Python序列 — 21、Python字典及其常用操作
目录 1.字典的应用场景 2.字典的概念 3.创建字典的语法 4.字典常见操作 (1)字典的增加操作 (2)字典的删除操作 (3)字典的修改 (4)字典的查找 (5)copy()复制 1.字典的应用场 ...
随机推荐
- redis 获取自增数
近期,有一个项目需要用到数字的自增整数,范围是0-199999,但公司数据库是mongodb.同时装有mysql.redis等存储数据的这些数据库,其中redis是集群模式,mongodb是paa( ...
- alpha测试和beta测试的区别
alpha测试版,有点相当于内部测试,一般开发人员在场 ,是由用户做测试,但开发人员在场,一般是请用户到开发现场去测试 beta测试版,完全交给用户,由用户做测试,返回测试报告,相当于发行前的一 ...
- 【Python笔记】Python 基础语法
Python 标识符 在 Python 里,标识符由字母.数字.下划线组成. 在 Python 中,所有标识符可以包括英文.数字以及下划线(_),但不能以数字开头. Python 中的标识符是区分大小 ...
- hadoop集群单点配置
=================== =============================== ----------------hadoop集群搭建 --------------------- ...
- Spring boot 官网学习笔记 - Auto-configuration(@SpringBootApplication、@EnableAutoConfiguration、@Configuration)
Spring Boot auto-configuration attempts to automatically configure your Spring application based on ...
- java8泛型
目录 1,泛型中的相关操作符 2,泛型基本使用示例 3,通配符 3.1, T和?的区别 3.2,上下界通配符 4, 附加约束(&) 泛型,也就是将类型参数化,然后在使用类或者方法的时候可以 ...
- SharePoint 2013 Sandbox Solution
昨天在写SharePoint EventReceiver的时候遇到一个问题,创建了一个local farm SharePoint solution,添加了一个ItemAdded(SPItemEvent ...
- Mysql的MyISAM和InnoDB存储引擎的区别
从以下几个方面: 1.存储结构 每个MyISAM在磁盘上存储成三个文件.第一个文件的名字以表的名字开始,扩展名指出文件类型. .frm文件存储表定义. 数据文件的扩展名为.MYD (MYData). ...
- layload.js的使用
网上有人反映说lazyload只是效果好看并没有实现真正的懒加载,在后台仍然是把页面上的所有图片下了一遍,只不过是先把图片隐藏并在窗口向下滚动时再逐一显示出来罢了.lazyloag3经测试这个问题已经 ...
- 使用 chart 部署 skywalking
使用 chart 部署 skywalking 本文主要讲述的是如何使用 Helm Charts 将 SkyWalking 部署到 Kubernetes 集群中,相关文档可以参考skywalking-k ...