Python数据类型之字典(上)

之前系列文章介绍了Python简单数据类型和序列数据类型,本文来学习一种新的映射数据类型:字典。

字典定义

有一天,如果你想查找一个英文比如apple的时候,你不可能一页一页翻字典查吧,这时候我们需要翻到字母A所对应的那一个区域的页面查找,找到一个叫apple的单词,接着把整个英语单词的含义找出来。而Python也是有字典的,在Python中,字典是一系列键值对的集合,每一个键值对的索引称为键(key),其对应的值称为值(value)

字典是Python的唯一的映射类型,映射这个术语来源于数学,指的是两个数值之间一一对应的关系。映射类型区别于之前的序列类型,序列类型是以数组的方式作为存储的,通过索引取得相应位置的值,数组中第一个元素位置为0,以此类推,一般索引值和该位置上存储的数据内容是毫无关系的。

如图所示,0和李宁没关系,1和耐克也没什么关系,都只是代表一个位置而已,唯一有关系的是,索引号相同,两个列表之间有一一对应的关系。

比如这样,我们实现了品牌对应口号的形式,看着很高大上,但是实际上使用起来非常麻烦,这不符合Python的一贯作风,所以我们要有字典这样的映射类型出现。

字典创建

首先,我们先试着创建一个字典:

如图所示,创建字典使用花括号({}),每个字典的键都有所对应的值,我们称之为键值对,键值对之间用逗号隔开:

如果我们要对字典索引,我们只需要在里头填上你想索引的键即可,字典的键和值可以是字符串、可以是整型、也可以是变量都是可以的,我们也可以看出,字典的标志性符号就是{}。

我们再创建一个新的字典来看看:

如图所示,字典里的键值对的类型是可以多种多样的,而我们要对字典的值索引只需要输入字典的键即可,如果我们要创建一个空白字典,只需要创建一个空的{}即可。

在这里,我们再介绍几种创建字典的方法,那就是要用到原生的dict函数:

如图所示,一种使用元组的形式创建字典,而另一种则是用一一对应的关系来创建字典,要注意的是,第二种字典左边键的值不能加双引号变成字符串的形式,否则程序就会报错。

如果要向字典内部添加元素,只需要用图片上的键值对的方式添加进去即可,注意:字典是无序的,所以添加进去的元素是随便乱放的。

本文简单的介绍了字典的概念和创建,关于更加深入的操作,请期待下文!

系列文章推荐:

  1. Python数据类型之数字类型
  2. Python数据类型之字符串
  3. Python数据类型之列表
  4. Python数据类型之列表(后续)
  5. Python数据类型之元组

原文发布于微信公众号 - C与Python实战(CPythonPractice)

原文发表时间:2018-04-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏nummy

python operator模块学习

operator模块是python中内置的操作符函数接口,它定义了一些算术和比较内置操作的函数。operator模块是用c实现的,所以执行速度比python代码...

9220
来自专栏blackheart的专栏

[C#6] 3-null 条件运算符

0. 目录 C#6 新增特性目录 1. 老版本的代码 1 namespace csharp6 2 { 3 internal class Perso...

230100
来自专栏Java编程

Java泛型详解

Java泛型(generics)是JDK 5中引入的一个新特性,允许在定义类和接口的时候使用类型参数(type parameter)。声明的类型参数在使用时用具...

78800
来自专栏web前端教室

javascript 红皮高程(20)-- 逻辑或

或,逻辑或邮二个竖线(||)表示,它需要二个操作数。 它的逻辑很好理解: 操作数1 操作数2 结果 true true tr...

19480
来自专栏猿人谷

Java初学者需掌握的30个概念

基本概念:       1.OOP中唯一关心的是对象的接口是什么,就像计算机的销售商她不管电源内部结构 是怎样的,他只关系能否给你提供电就行了,也就是只要知道c...

182100
来自专栏C/C++基础

认识初始化

初始化是编码过程中的重要操作,往往由于被忽略,导致使用未初始化的变量(或内存区域),将程序置于不确定的状态,产生各种bug,严重影响的程序的健壮性。正确地理解和...

7410
来自专栏Python数据科学

Python爬虫之快速入门正则表达式

当完成了网页html的download之后,下一步当然是从网页中解析我们想要的数据了。那如何解析这些网页呢?Python中有许多种操作简单且高效的工具可以协助我...

13130
来自专栏编程

机器学习之Python基础(一)

标题 Python语言特点 基本数据类型 循环 文件IO 函数 1 1 1 Python是一种面向对象的解释型计算机程序设计语言。它有着代码简洁、可读性强的特点...

20680
来自专栏从零开始学 Web 前端

01 - JavaSE之基础及面向对象

byte(-128 ~ 127) short(-32768 ~ 32767) int(-2147483648 ~ 2147483647)

18040
来自专栏黄Java的地盘

正则表达式之进阶篇

本文主要通过介绍正则表达式中的一些进阶内容,让读者了解正则表达式在日常使用中用到的比较少但是又比较重要的一部分内容,从而让大家对正则表达式有一个更加深刻的认识。

20030

扫码关注云+社区

领取腾讯云代金券