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. Android Studio [Activity的生命周期]

    package com.xdw.a122; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; imp ...

  2. Spotlight性能监控工具的配置及使用

    这是我离线整理资料里的内容,大概是2012年时候开始使用此性能监控工具的,直到至今,接触到几个性能监控工具里,还是美国quest公司生产的Spotlight此产品相对比较牛! 我也不知道现在发展到能支 ...

  3. Python学习笔记整理总结【Django】:Form组件

     Form组件  Django的Form主要具有一下几大功能: --生成HTML标签 --验证用户数据(显示错误信息) --HTML Form提交保留上次提交数据 --初始化页面显示内容 1.内置字段 ...

  4. 从壹开始学习NetCore 45 ║ 终于解决了事务问题

    一.项目说明 哈喽,又来写文章了,原来放假可以这么爽,可以学习和分享,

  5. Python奇技淫巧 - 持续更新中....

    Python奇技淫巧 人生苦短,我用Python: 编程界这绝对不是一句空话,尤其是对于使用过多个语言进行工作的同学们来说,用Python的时间越长,越有一种我早干嘛去了的想法,没事,啥时候用Pyth ...

  6. quartz-scheduler定时器实现

    第一步,在pom.xml中引入quartz-scheduler. <dependency> <groupId>org.quartz-scheduler</groupId& ...

  7. Python sys.setdefaultencoding('utf-8') 后就没输出

    为了解决Python的 UnicodeDecodeError: 'ascii' codec can't decode byte ,我们可以加入以下代码. import sys reload(sys) ...

  8. Docker Registry 管理镜像

    一.使用Docker Registry管理镜像 a.登陆docker hub  https://www.docker.com/products/docker-hub b.创建仓库 c.推送镜像   打 ...

  9. B/S 端构建的基于 WebGL 3D 可视化档案馆管理系统

    前言 档案管理系统是通过建立统一的标准以规范整个文件管理,包括规范各业务系统的文件管理的完整的档案资源信息共享服务平台,主要实现档案流水化采集功能.为企事业单位的档案现代化管理,提供完整的解决方案,档 ...

  10. Spring Boot 2.X(一):入门篇

    什么是 Spring Boot Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程.该框架遵循"约定优于配置& ...