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. ASP.NET Core 3.0 gRPC 双向流

    目录 ASP.NET Core 3.0 使用gRPC ASP.NET Core 3.0 gRPC 双向流 ASP.NET Core 3.0 gRPC 认证授权 一.前言 在前一文 <ASP.NE ...

  2. github博客Hexo引流到微信

    相信有不少小伙伴都在github上创建了属于自己的博客,其中用Hexo的Next主题应该不少,那么,我们究竟该如何将博客的流量引流到微信呢?今天就来带你看一看. 如何引流 现在网上有一种套路,当你在看 ...

  3. (3)安装elastic6.1.3及插件kibana,x-pack,essql,head,bigdesk,cerebro,ik

    6安装nginx 6.1安装nginx 安装 pcre,zlib,openssl,nginx 6.2生成web访问用户密码 htpasswd –c –b /usr/local/nginx/conf/p ...

  4. selenium-03-常用操作

    基本介绍: Selenium工具专门为WEB应用程序编写的一个验收测试工具. Selenium的核心:browser bot,是用JavaScript编写的. Selenium工具有4种:Seleni ...

  5. redis-公平信号量

    但各个系统的系统时间并不完全相同时,基本信号量就会出现问题:系统时间较慢的系统,将能够偷走系统时钟快的系统的信号量,导致信号量变得不公平.以下方法,只要系统间时间相差不到1秒,就不会出现信号量被偷或提 ...

  6. 问题:程序编译通过,但是执行时报错:coredump

    问题描述: 在一个客户现场搭建环境时,遇到了一个棘手的问题,C代码编译通过后,无法正常运行,启动会出现“coredump”错误. 运行环境为新搭建的AIX6.1,数据库为Oracle11.2.0.2. ...

  7. js三级联动效果city-picker

    链接:https://pan.baidu.com/s/1NE_EO5_xGvR-y-lboYap7g 提取码:h00e 效果展示: 解决: 动态赋值: 注意:在执行赋值之前,必须执行reset和des ...

  8. 阿里云ESC服务器centos6.9使用及注意事项

    阿里云ESC服务器,配置低,但是足够新手尝试操作练习. 使用之前,注意事项: 选择操作系统 设置实例快照 安装终端工具 一,选择操作系统. 可以在购买服务器的时候进行选择系统盘,也可以在购买之后在实例 ...

  9. 003-python函数式编程,模块

    1.函数式编程 1.1 高阶函数 把函数作为参数传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式 函数名也是变量,函数名其实就是指向函数的变量!对于abs()这个函数,完全可以把函 ...

  10. ouc_software第一次作业:OUC二手物品交易

    一.前言 1.项目名称:ouc二手物品交易 2.项目简介 (1)创办一个网上校内二手物品交易平台,供校内师生进行交易二手物品. (2)经过身份认证的用户,可将自己想要交易的二手物品发布至平台,供其他用 ...