[Python 3系列]字典

像列表一样,“字典”是许多值的集合。但不像列表的下标,字典的索引可以使用许多不同数据类型,不只是整数。字典的索引被称为“键”,键及其关联的值称为“键-值”对。

字典中的表项是不排序的。所以不能像列表那样切片。

>>> dict={‘name‘:‘Tom‘,‘age‘:18,‘Color‘:‘white‘}
>>> dict[‘age‘]
18

keys()、values()和items()方法

▎3个字典的方法:

keys()         键

values()       值

items()        键-值对

这些方法返回的值不是真正的列表,它们不能被修改。

>>> dict={‘name‘:‘Tom‘,‘age‘:18,‘Color‘:‘white‘}
>>> for k in dict.keys():
...     print(k)
...
Color
name
age
>>> for v in dict.values():
...     print(v)
...
white
Tom
18
>>> for k,v in dict.items():
...     print(k,v)
...
Color white
name Tom
age 18

in和not in

利用in和not in操作符可以检查值是否存在于列表中。

>>> dict={‘name‘:‘Tom‘,‘age‘:18,‘Color‘:‘white‘}
>>> ‘age‘ in dict.keys()
True
>>> ‘age‘ in dict      ## 等于“‘age‘ in dict.keys()”
True
>>> ‘Color‘ not in dict.keys()
False
>>> ‘white‘ in dict.values()
True

get()方法

在访问一个键的值之前,检查该键是否存在于字典中,可以使用get()方法,它有两个参数:要取得其值的键,以及如果该键不存在时,返回的备用值。

>>> dict={‘name‘:‘Tom‘,‘age‘:18,‘Color‘:‘white‘}
>>> ‘My hair is ‘+str(dict.get(‘hair‘,‘BLACK‘))+‘.‘
‘My hair is BLACK.‘

setdefault()方法

setdefault()方法为字典中某个键设置一个默认值,当该键没有任何值时使用它。

传递给setdefault()方法的第一个参数,是要检查的键。第二个参数,是如果该键不存在时要设置的值。如果该键确实存在,方法就会返回键的值。

>>> dict={‘name‘:‘Tom‘,‘age‘:18,‘Color‘:‘white‘}
>>> dict.setdefault(‘hair‘,‘black‘)
‘black‘
>>> dict.setdefault(‘age‘,‘20‘)
18
>>> dict
{‘Color‘: ‘white‘, ‘name‘: ‘Tom‘, ‘age‘: 18, ‘hair‘: ‘black‘}

漂亮打印

如果程序中导入pprint模块,就可以使用pprint()和pformat()函数,它们将漂亮打印一个字典的字。

如果字典本身包含嵌套的列表或字典,pprint.pprint()函数就特别有用。

如果希望得到漂亮打印的文本作为字符串,而不是显示在屏幕上,那就调用pprint.pformat()。

pprint.pprint(someDictValue) = print(pprint.pformat(someDictValue))

>>> import pprint
>>> text=‘One night can change everything in your life.‘
>>> count={}
>>> for char in text:
...     count.setdefault(char,0)
...     count[char]=count[char]+1
...
>>> pprint.pprint(count)
{‘ ‘: 7,
 ‘.‘: 1,
 ‘O‘: 1,
 ‘a‘: 2,
 ‘c‘: 2,
 ‘e‘: 5,
 ‘f‘: 1,
 ‘g‘: 3,
 ‘h‘: 3,
 ‘i‘: 4,
 ‘l‘: 1,
 ‘n‘: 6,
 ‘o‘: 1,
 ‘r‘: 2,
 ‘t‘: 2,
 ‘u‘: 1,
 ‘v‘: 1,
 ‘y‘: 2}
时间: 2024-08-23 19:01:35

[Python 3系列]字典的相关文章

Python基础系列----字典、基本语句

1.定义                                                                                               映射:通过名字来引用的数据结构.与前面说的数据结构不同,一个是通过下标的数字,一个是通过名称. 字典是python中唯一内建的映射类型.字典中的值并没有特殊的顺序,但都是存储在一个特定的键下.键可以是数字.字符甚至是元组. 字典由多个键及其对应的值构成的键-值对组成. 1 phonebook={'To

python系列(四)python元组与字典

博主QQ:819594300 博客地址:http://zpf666.blog.51cto.com/ 有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持! 本博文目录: 一.元组 | 二.字典 | 三.字典的使用方法 前言:列表非常适合用于存储在程序运行期间可能变化的数据集.列表是可以修改的,这对处理网站的用户列表或游戏中的角色列表至关重要.然而,有时候你需要创建一些列不可修改的元素,元组就可以满足你这样的需求.Python将不能修改的值称为不可变的,而不可变的列表就被称为元组. 正文部分:

Python学习系列(五)(文件操作及其字典)

Python学习系列(五)(文件操作及其字典) Python学习系列(四)(列表及其函数) 一.文件操作 1,读文件 在以'r'读模式打开文件以后可以调用read函数一次性将文件内容全部读出,也可以指定每次read读多少字节,例如: 1 #coding:utf-8 2 fn='test1.py' 3 fp=open(fn,'r') #以读的方式打开文件,文件必须首先存在和,.文件在同一目录下py 4 print 'reading pos:',fp.tell() 5 r=fp.read(20) #

Python学习系列(四)Python 入门语法规则2

Python学习系列(四)Python 入门语法规则2 2017-4-3 09:18:04 编码和解码 Unicode.gbk,utf8之间的关系 2.对于py2.7, 如果utf8>gbk, utf8解码成Unicode,再将unicode编码成gbk 对于py3.5 如果utf8>gbk, utf8 直接编码成gbk(中间那一步直接被优化了) 3.很多时候,这个可以直接跳过,只有当编码出下问题的时候,再考虑这个知识点 二.运算符 1.算数运算: 2.比较运算: 3.赋值运算: 4.逻辑运算

python基础之字典及字符

python基础之字典及字符串处理 本节内容 字典介绍及内置方法 字符串处理 1.字典介绍及内置方法 字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的.可哈希表示key必须是不可变类型,如:数字.字符串.元组. 字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型.列表是有序的对象结合,字典是无序的对象集合.两者

Python学习系列(八)( 面向对象基础)

 Python学习系列(八)( 面向对象基础) Python学习系列(七)( 数据库编程) 一,面向对象 1,域:属于一个对象或类的变量.有两种类型,即实例变量—属于每个实例/类的对象:类变量—属于类本身. 2,类的方法:对象也可以使用属于类的函数来具有功能,这样的函数称之为类的方法.域和方法合称为类的属性.类使用class关键字创建,类的属性被列在一个缩进块中. 3,self:类的方法与普通的函数只有一个特别的区别----他们必须有一个额外的第一个参数名称,但是在调用的时候不能为其赋值,Pyt

python json模块 字典 输出中文

json.dumps({'text':"中文"},ensure_ascii=False,indent=2) python json模块 字典得到字符串,输出中文

Python学习系列(六)(模块)

一,模块的基本介绍 1,import引入其他标准模块 标准库:Python标准安装包里的模块. 引入模块的几种方式: i)引入模块:import   moduleName ii)引入模块下的函数:from moduleName import function1,function2,-- iii)引入模块下的所有函数:from moduleName import * 使用模块里的函数的方法: moduleName.function(agrs) 示例: >>> import math >

人脸检测及识别python实现系列(4)——卷积神经网络(CNN)入门

人脸检测及识别python实现系列(4)--卷积神经网络(CNN)入门 上篇博文我们准备好了2000张训练数据,接下来的几节我们将详细讲述如何利用这些数据训练我们的识别模型.前面说过,原博文给出的训练程序使用的是keras库,对我的机器来说就是tensorflow版的keras.训练程序建立了一个包含4个卷积层的神经网络(CNN),程序利用这个网络训练我的人脸识别模型,并将最终训练结果保存到硬盘上.在我们实际动手操练之前我们必须先弄明白一个问题--什么是卷积神经网络(CNN)? CNN(Conv