↑ 点击上方【计算机视觉联盟】关注我们

今天是小编持续更新关于Python的知识总结以及Python实践项目应用的第9天,带你利用零碎时间自学最受欢迎的编程语言之一Python语言。你和小编一起打卡了吗?

今天要写的是将相关信息关联起来的Python字典。字典可存储的信息量几乎不受限制 。

在Python中,字典是一系列键-值对。每个键都与一个值相关联,可以使用键来访问与之相关联的值。与键相关联的值可以是数字、字符串、列表乃至字典。事实上, 可将任何Python对象用作字典中的值。

键—值对是两个相关联的值。指定键时,Python将返回与之相关联的值。 键和值之间用冒号分隔, 而键—值对之间用逗号分隔

一个Python字典可能只包含几个键—值对, 也可能包含数百万个键—值对。 鉴于字典可能包含大量的数据, Python支持对字典遍历。 字典可用于以各种方式存储信息, 因此有多种遍历字典的方式: 可遍历字典的所有键—值对键或值

下边具体介绍遍历字典的方法:

1、遍历字典所有的键-值对

遍历字典所有的键-值对,可以使用for循环实现

  1. (1)声明两个变量,用于存储键-值对中的键和值。

  2. (2)包含字典名和方法items(),items()方法可以返回一个键-值对列表。

用for循环遍历字典所有键-值对例子:

 1#!/usr/bin/env python2# -*- coding:utf-8 -*-3user_0 = {4    'username': 'efermi',5    'first': 'enrico',6    'last': 'fermi',7}89for key, value in user_0.items():
10    print("\nkey:"+key)
11    print("value:" + value)

运行结果:

1key:username
2value:efermi
3
4key:first
5value:enrico
6
7key:last
8value:fermi

代码解析:

代码中for中的key和value则是声明的存储键-值对中的键和值

2、遍历字典中的所有键

遍历字典中的所有键,使用方法keys()来实现。

方法keys()可以返回包含字典中所有键的列表。

Keys方法遍历字典中的所有键:

 1#!/usr/bin/env python2# -*- coding:utf-8 -*-3user_0 = {4    'username': 'efermi',5    'first': 'enrico',6    'last': 'fermi',7}89for key in user_0.keys():
10    print(key)

运行结果:

1last
2username
3first

3、按特定顺序遍历字典中的多有键

用keys方法获取字典中的元素时,获取顺序是不可预测的。如果想获得特定顺序,可以在for循环中调用sorted()函数对元素进行排序。

1#!/usr/bin/env python
2# -*- coding:utf-8 -*-
3user_0 = {
4    'username': 'efermi',
5    'first': 'enrico',
6    'last': 'fermi',
7}
8for key in sorted(user_0.keys()):  # sorted()函数进行排序
9    print(key)

运行结果:

1first
2last
3username

4、遍历字典中的所有值

values()方法能够返回一个只包含字典中值的列表。

1#!/usr/bin/env python
2# -*- coding:utf-8 -*-
3favorite_languages = {
4    'Jen': 'python',
5    'Sarah': 'c',
6    'Edward': 'python',
7}
8for language in favorite_languages.values():
9    print(language)

运行结果:

1python
2python
3c

values方法每一刻考虑是否重复。使用集合set,可以使得列表元素独一无二。如下边的例子:

1#!/usr/bin/env python
2# -*- coding:utf-8 -*-
3favorite_languages = {
4    'Jen': 'python',
5    'Sarah': 'c',
6    'Edward': 'python',
7}
8for language in set(favorite_languages.values()):  # 使用集合set
9    print(language)

运行结果(使用set集合后,去掉了重复的python):

1c
2python

同样的,values方法也可以调用sorted函数实现按特定顺序遍历。

往期回顾

亲身经历2019年校招8个大厂心得体会,纯干货分享(大疆、百度...)

2018年29篇必读机器学习论文总结,BERT, SeqGAN等上榜

机器学习经典算法决策树原理详解(简单易懂)

斯坦福李飞飞高徒Johnson博士论文: 组成式计算机视觉智能(附195页PDF)

带你详细了解机器视觉竞赛—ILSVRC竞赛

2018年度最强的30个机器学习项目!

何恺明等最新突破:视频识别快慢结合,取得人体动作AVA数据集最佳水平

重磅!麻省、谷歌、斯坦福、Yandex的10个机器学习和数据科学必修课程陪你走完2018

基于PyTorch的GAN框架TorchGAN:用架构级API轻松定制GAN项目

带你自学Python系列(九):一文读懂Python中字典应用原理!相关推荐

  1. 读懂python语言_一文读懂python反射机制

    反射 反射机制就是在运行时,动态的确定对象的类型,并可以通过字符串调用对象属性.方法.导入模块,是一种基于字符串的事件驱动.解释型语言:程序不需要编译,程序在运行时才翻译成机器语言,每执行一次都要翻译 ...

  2. python读取枚举_一文读懂Python 枚举

    enum是一组绑定到唯一常数值的符号名称,并且具备可迭代性和可比较性的特性.我们可以使用 enum 创建具有良好定义的标识符,而不是直接使用魔法字符串或整数,也便于开发工程师的代码维护. 创建枚举 我 ...

  3. 一文读懂TOF深度相机技术原理--TI-Tintin-OPT8241二次开发和应用系列--Theory Level

    一文读懂TOF深度相机技术原理--TI-Tintin-OPT8241二次开发和应用系列--Theory Level 转载请附上出处,本文链接:https://www.cnblogs.com/pans0 ...

  4. python输入什么就输出什么_一文读懂Python的输入和输出

    本文介绍了Python的输入和输出,既然是Python代码,那么就一定有输出量,那么,Python是如何输出的呢? 输出 用print()在括号中加上字符串,就可以向屏幕上输出指定的文字.比如输出'h ...

  5. 带你一文读懂Javascript中ES6的Symbol

    带你一文读懂Javascript中ES6的Symbol 前言 基础类型 Symbol Symbol.for 与 Symbol.keyFor Symbol.iterator Symbol.search ...

  6. java中date类型如何赋值_一文读懂java中的Reference和引用类型

    简介 java中有值类型也有引用类型,引用类型一般是针对于java中对象来说的,今天介绍一下java中的引用类型.java为引用类型专门定义了一个类叫做Reference.Reference是跟jav ...

  7. 一文读懂密码学中的证书

    一文读懂密码学中的证书 之前的文章中,我们讲到了数字签名,数字签名的作用就是防止篡改和伪装,并且能够防止否认.但是要正确运用数字签名技术还有一个非常大的前提,那就是用来验证签名的公钥必须真正的属于发送 ...

  8. 前端面试必会 | 一文读懂 JavaScript 中的 this 关键字

    this 是一个令无数 JavaScript 编程者又爱又恨的知识点.它的重要性毋庸置疑,然而真正想掌握它却并非易事.希望本文可以帮助大家理解 this. JavaScript 中的 this Jav ...

  9. 一文读懂机器学习中的模型偏差

    一文读懂机器学习中的模型偏差 http://blog.sina.com.cn/s/blog_cfa68e330102yz2c.html 在人工智能(AI)和机器学习(ML)领域,将预测模型参与决策过程 ...

  10. 一文读懂Java中File类、字节流、字符流、转换流

    一文读懂Java中File类.字节流.字符流.转换流 第一章 递归:File类: 1.1:概述 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作. ...

最新文章

  1. linux 下查mac
  2. linux 命令 跳过yes,Linux命令之yes
  3. mysql 线程池源码模块_易语言Mysql线程池2.0模块源码
  4. 迎接100G数据中心以太网
  5. Java序列化注意事项
  6. CIALBrowser
  7. python opencv手册_教你用Python实现5毛钱特效(给你的视频来点料)
  8. 【并查集】银河英雄传说 (luogu 1196/ssl 1225)
  9. Keras版的GCN代码学习
  10. 为什么.class文件查看不了_恕我直言,这可能是你见过最详细的class文件结构分析
  11. 漫威电影(复仇者联盟)系列观看顺序和资源下载地址
  12. 云计算机教室 国家标准,计算机云网络教室建设方案
  13. 一文搞懂天使轮、A轮、B轮、C轮、D轮融资
  14. ios app 提交审核
  15. DB DBMS SQL 分别是什么?
  16. 数字波束成形——信道矩阵奇异值分解
  17. 尚硅谷web前端工程师1000集学习笔记11
  18. C/C++开发工程师面试题整理(二)——操作系统进程、线程
  19. 金蝶K3采购暂估案例4商业模式单到冲回
  20. python浪漫背景表白_情人节来了,教你个用 Python 表白的技巧

热门文章

  1. 检测php常量是否存在,php判断变量常量是否存在
  2. html表格分页打印样式,vue部分打印(多页自动分页、打印样式自定义、多页打印表格页面顶部带表头)...
  3. mysql5.6.39编译安装_源码编译安装MySQL-5.6/mysql-5.6.39------踩了无数坑,重装了十几次服务器才会的,不容易啊!...
  4. 欧洲语言学习统一标准C1C2音频,北京通州区有没有西班牙语培训班(为何选择西班牙语)...
  5. mysql update多条件批量更新_Mybatis中进行批量更新(updateBatch)
  6. C语言实验源程序保存,实验一 C语言集成开发环境
  7. python全栈计划_Python 全栈学习视频教程,包含了从 0-99天的全栈学习计划,估计可以学习 1024 小时。...
  8. 2020计算机原理组成1254,1254计算机科学与技术专业计算机组成原理A科目2020年09月国家开 放大学(中央广播电视大学)考试试题及答案.pdf...
  9. 沃尔什哈达玛变换Matlab,哈达玛变换矩阵-数字图像处理.ppt
  10. 数据挖掘肿瘤预测_喜欢临床预测模型|SEER数据挖掘的期刊有哪些