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.字典的应用场 ...
随机推荐
- Windows认证 | 域认证
在Windows中的身份认证方式有很多,也在不断的升级,但是在域中,依旧使用的是Kerberos认证. Kerberos 是一种网络认证协议,它的实现不依赖于主机操作系统的认证,无需基于主机地址的信任 ...
- Java行业未来发展
互联网时代的飞速发展,为机械,自动化,等传统行业敲响了警钟,曾经火爆一时的行业逐渐没落,曾经网上有个段子,一个人在20多年前,看BP机卖的如火如荼,自己一想,那么多人都在用,总会有坏的时候吧,然后去技 ...
- 用Python构造ARP请求、扫描、欺骗
目录 0. ARP介绍 1. Scapy简述 2. Scapy简单演示 2.1 安装 2.2 构造包演示 2.2.1 进入kamene交互界面 2.2.2 查看以太网头部 2.2.3 查看 ICMP ...
- Linux虚拟机--进入MySQL报错的解决办法
在Linux安装MySQL有时候会出现 [mysql]ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/ ...
- Python学习笔记整理总结【Django】:Model操作(一)
Model操作(一) 一.Django ORM基本配置 ORM:关系对象映射(Object Relational Mapping,简称ORM)db Frist:到目前为止,当我们的程序涉及到数据库相关 ...
- JAVA线程基础概念及使用
一.线程和进程的区别 在操作系统中所有运行的任务通常对应一个进程,进程是系统进行资源分配和调度的一个独立单位.线程是进程的组成部分,一个进程最少包含一个线程.并发和并行的区别是,并发指的在同一时刻内, ...
- leveldb 源码--总体架构分析
一 本文目的 对leveldb的总体设计框架分析(关于leveldb基本原理,此文不做阐述,读者可以自行检索文章阅读即可),对leveldb中底层数据存储数据格式,内存数据模型,compact,版本管 ...
- plsql导入导出表结构和数据对象
一.Tools的导出表结构:export User objects 二.Tools的Export Tables选项 导出表数据:export tables (选择:exp.exe) 三. 导入表结构: ...
- Github | 吴恩达新书《Machine Learning Yearning》完整中文版开源
最近开源了周志华老师的西瓜书<机器学习>纯手推笔记: 博士笔记 | 周志华<机器学习>手推笔记第一章思维导图 [博士笔记 | 周志华<机器学习>手推笔记第二章&qu ...
- 【CV现状-3.3】特征提取与描述
#磨染的初心--计算机视觉的现状 [这一系列文章是关于计算机视觉的反思,希望能引起一些人的共鸣.可以随意传播,随意喷.所涉及的内容过多,将按如下内容划分章节.已经完成的会逐渐加上链接.] 缘起 三维感 ...