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 条评论
登录 后参与评论

相关文章

来自专栏Coco的专栏

【优雅代码】深入浅出 妙用Javascript中apply、call、bind

822
来自专栏JetpropelledSnake

Python入门之迭代器/生成器/yield的表达方式/面向过程编程

 本章内容     迭代器     面向过程编程       一、什么是迭代       二、什么是迭代器       三、迭代器演示和举例       四、生...

2909
来自专栏web前端教室

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

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

1878
来自专栏程序生活

Python itertools的使用简介无限迭代器chain方法

用*放在一个可迭代对象前面可以将对象拆分成多个单元素,比如first=[['1','2','3','4','4'],['2','4','2']],如果把*放在f...

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

认识初始化

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

631
来自专栏nummy

python operator模块学习

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

722
来自专栏Modeng的专栏

Javascript数组系列五之增删改和强大的 splice()

今天是我们介绍数组系列文章的第五篇,也是我们数组系列的最后一篇文章,只是数据系列的结束,所以大家不用担心,我们会持续的更新干货文章。

1252
来自专栏决胜机器学习

《Redis设计与实现》读书笔记(一)——简单动态字符串(SDS)

《Redis设计与实现》读书笔记(一) ——简单动态字符串(SDS) (原创内容,转载请注明来源,谢谢) 前言:《Redis设计与实现》,是一本分析redis...

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

01 - JavaSE之基础及面向对象

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

1594
来自专栏信安之路

php 弱类型问题

php 是一门简单而强大的语言,提供了很多 Web 适用的语言特性,其中就包括了变量弱类型,在弱类型机制下,你能够给一个变量赋任意类型的值。

1340

扫码关注云+社区