Python 字典(Dictionary)详细介绍

目录
  • 1.访问字典里的值
  • 2.修改字典
  • 3.删除字典元素
    • 3.1字典键的特性
  • 4.字典内置函数&方法

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中

格式如下所示:

d = {key1 : value1, key2 : value2 }

注意:dict 作为 Python 的关键字和内置函数,变量名不建议命名为 dict。

键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。

>>> tinydict = {'a': 1, 'b': 2, 'b': '3'}
>>> tinydict['b']
'3'
>>> tinydict
{'a': 1, 'b': '3'}

值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

一个简单的字典实例:

tinydict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

也可如此创建字典:

tinydict1 = { 'abc': 456 }
tinydict2 = { 'abc': 123, 98.6: 37 }

1.访问字典里的值

把相应的键放入熟悉的方括弧,如下实例:

实例:

tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
 print "tinydict['Name']: ", tinydict['Name']
print "tinydict['Age']: ", tinydict['Age']

以上实例输出结果:

tinydict['Name']:  Zara
tinydict['Age']:  7

如果用字典里没有的键访问数据,会输出错误如下:

实例:

tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
 
print "tinydict['Alice']: ", tinydict['Alice']

以上实例输出结果:

tinydict['Alice']: 
Traceback (most recent call last):
  File "test.py", line 5, in <module>
    print "tinydict['Alice']: ", tinydict['Alice']
KeyError: 'Alice'

2.修改字典

向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对如下实例:

实例:

tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
 
tinydict['Age'] = 8 # 更新
tinydict['School'] = "RUNOOB" # 添加
 
 
print "tinydict['Age']: ", tinydict['Age']
print "tinydict['School']: ", tinydict['School']

以上实例输出结果:

tinydict['Age']:  8
tinydict['School']:  RUNOOB

3.删除字典元素

能删单一的元素也能清空字典,清空只需一项操作。

显示删除一个字典用del命令,如下实例:

实例:

tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
 
del tinydict['Name']  # 删除键是'Name'的条目
tinydict.clear()      # 清空字典所有条目
del tinydict          # 删除字典
 
print "tinydict['Age']: ", tinydict['Age'] 
print "tinydict['School']: ", tinydict['School']

但这会引发一个异常,因为用del后字典不再存在:

tinydict['Age']: 
Traceback (most recent call last):
  File "test.py", line 10, in <module>
    print "tinydict['Age']: ", tinydict['Age'] 
NameError: name 'tinydict' is not defined

注:del() 方法后面也会讨论。

3.1字典键的特性

字典值可以没有限制地取任何 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。

两个重要的点需要记住:

  • 1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住,

如下实例:

 tinydict = {'Name': 'Runoob', 'Age': 7, 'Name': 'Manni'} 
 
print "tinydict['Name']: ", tinydict['Name']

以上实例输出结果:

tinydict['Name']:  Manni
  • 2)键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行,

如下实例:

tinydict = {['Name']: 'Zara', 'Age': 7} 
 
print "tinydict['Name']: ", tinydict['Name']

以上实例输出结果:

Traceback (most recent call last):
  File "test.py", line 3, in <module>
    tinydict = {['Name']: 'Zara', 'Age': 7} 
TypeError: unhashable type: 'list'

4.字典内置函数&方法

Python字典包含了以下内置函数:

序号 函数及描述
1 cmp(dict1, dict2)比较两个字典元素。
2 len(dict)计算字典元素个数,即键的总数。
3 str(dict)输出字典可打印的字符串表示。
4 type(variable)返回输入的变量类型,如果变量是字典就返回字典类型。

Python字典包含了以下内置方法:

序号 函数及描述
1 dict.clear()删除字典内所有元素
2 dict.copy()返回一个字典的浅复制
3 dict.fromkeys(seq[, val])创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值
4 dict.get(key, default=None)返回指定键的值,如果值不在字典中返回default值
5 dict.has_key(key)如果键在字典dict里返回true,否则返回false
6 dict.items()以列表返回可遍历的(键, 值) 元组数组
7 dict.keys()以列表返回一个字典所有的键
8 dict.setdefault(key, default=None)和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
9 dict.update(dict2)把字典dict2的键/值对更新到dict里
10 dict.values()以列表返回字典中的所有值
11 pop(key[,default])删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
12 popitem()返回并删除字典中的最后一对键和值。

到此这篇关于Python 字典(Dictionary)详细介绍的文章就介绍到这了,更多相关Python 字典(Dictionary)内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python 字典(Dictionary)操作详解

    Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型.一.创建字典字典由键和对应值成对组成.字典也被称作关联数组或哈希表.基本语法如下: 复制代码 代码如下: dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'} 也可如此创建字典: 复制代码 代码如下: dict1 = { 'abc': 456 };dict2 = { 'abc': 123, 98.6: 37 }; 注意:每个键与值用冒号隔开

  • Python的“二维”字典 (two-dimension dictionary)定义与实现方法

    本文实例讲述了Python的"二维"字典 (two-dimension dictionary)定义与实现方法.分享给大家供大家参考,具体如下: Python 中的dict可以实现迅速查找.那么有没有像数组有二维数组一样,有二维的字典呢?比如我需要对两个关键词进行查找的时候.2D dict 可以通过 dict_2d = {'a': {'a': 1, 'b': 3}, 'b': {'a': 6}} 来建立,并通过 dict_2d['a']['b'] 来访问.但是添加一个新的 "k

  • python中字典(Dictionary)用法实例详解

    本文实例讲述了python中字典(Dictionary)用法.分享给大家供大家参考.具体分析如下: 字典(Dictionary)是一种映射结构的数据类型,由无序的"键-值对"组成.字典的键必须是不可改变的类型,如:字符串,数字,tuple:值可以为任何python数据类型. 1.新建字典 >>> dict1={} #建立一个空字典 >>> type(dict1) <type 'dict'> 2.增加字典元素:两种方法 >>&g

  • Python3 字典dictionary入门基础附实例

    Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型.字典由键和对应值成对组成.字典也被称作关联数组或哈希表. 注意: 1.每个键与值用冒号隔开(:),每对用逗号,每对用逗号分割,整体放在花括号中({}). 2.键必须独一无二,但值则不必. 3.值可以取任何数据类型,但必须是不可变的,如字符串,数或元组. 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在

  • Python 字典(Dictionary)详细介绍

    目录 1.访问字典里的值 2.修改字典 3.删除字典元素 3.1字典键的特性 4.字典内置函数&方法 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 格式如下所示: d = {key1 : value1, key2 : value2 } 注意:dict 作为 Python 的关键字和内置函数,变量名不建议命名为 dict. 键一般是唯一的,如果重复最后的一个键值对会替换

  • Python字典操作详细介绍及字典内建方法分享

    创建 方法一: >>> dict1 = {} >>> dict2 = {'name': 'earth', 'port': 80} >>> dict1, dict2 ({}, {'port': 80, 'name': 'earth'}) 方法二:从Python 2.2 版本起,可以使用一个工厂方法,传入一个元素是列表的元组作为参数 >>> fdict = dict((['x', 1], ['y', 2])) >>> f

  • python request 模块详细介绍

    request Requests 是使用 Apache2 Licensed 许可证的 基于Python开发的HTTP 库,其在Python内置模块的基础上进行了高度的封装,从而使得Pythoner进行网络请求时,变得美好了许多,使用Requests可以轻而易举的完成浏览器可有的任何操作. GET 请求 # 1.无参数实例     import requests     ret = requests.get('https://github.com/timeline.json')     print

  • Python Django中间件详细介绍

    目录 一 .中间件简介 二 .编写自己的中间件 三 .中间件执行流程 一 .中间件简介 中间件是Django请求/响应处理的钩子函数.它是一个轻量级的.低级的"插件系统",用于全局改变Django的输入和输出.中间件是帮助我们在视图函数执行之前都可以做一些额外的操作,它本质就是一个自定义类,类中定义几个方法,Djago框架会在特定的时候自动触发. 每个中间件负责做一些特定的功能.例如,‘django.contrib.auth.middleware.AuthenticationMiddl

  • 关于Python字典(Dictionary)操作详解

    目录 一.创建字典 二.访问字典里的值 三.修改字典 四.删除字典元素 五.字典键的特性 六.字典内置函数&方法 Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字典也被称作关联数组或哈希表.基本语法如下: dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'} 也可如此创建字典 dict1 = { 'abc': 456 } dict2 = { '

  • Python 模块EasyGui详细介绍

    Python 模块EasyGui详细介绍 前言: 在Windows想用Python开发一些简单的界面,所以找到了很容易上手的EasyGui库.下面就分享一下简单的使用吧. 参考的链接:官网Tutorial 接下来,我将从简单,到复杂一点点的演示如何使用这个模块.希望能给刚接触easygui的你一点帮助 :-) msgBox,ccbox,ynbox # coding:utf-8 # __author__ = 'Mark sinoberg' # __date__ = '2016/5/25' # __

  • Python 循环函数详细介绍

    目录 一.循环函数 1.for循环 2.while循环 3.中断循环 二.循环设计 1.range() 2.enumerate() 3.zip() 三.循环对象 1.什么是循环对象 2.迭代器 3.生成器 4.表推导 一.循环函数 1.for循环 for循环需要预先设定好循环的次数(n),然后执行隶属于for的语句n次. 基本构造是 for 元素 in 序列: statement 举例来说,我们编辑一个叫forDemo.py的文件 for a in [3,4.4,'life']: print a

  • python中进程间通信详细介绍

    目录 进程间通信(IPC) 管道通信(Pipe) 1.通信原理 2. 实现方法 共享内存 1.通信原理 2.实现方法 信号量(信号灯集) 1.通信原理 2. 实现方法 3.代码演示 进程间通信(IPC) 必要性 进程间空间独立,资源不共享,此时在需要进程间数据传输时就需要特定的手段进行数据通信 常用进程间通信方法 管道 消息队列 共享内存 型号 信号量 套接字 管道通信(Pipe) 1.通信原理 在内存中开辟管道空间,生成管道操作对象,多个进程使用同一个管道对象进行读写即可实现通信 代码演示(w

  • python运算符号详细介绍

    目录 比较运算符 布尔运算符 python中的位运算符 运算符的优先级 比较运算符 a,b=10,30 print('a>b吗?',a>b) print('a<b吗?',a<b) print('a<=b吗?',a>=b) print(a is b)#这个比较的是id标识 a>b吗? False a<b吗? True a<=b吗? False False 一个变量有三部分组成:1标识,2类型,3值 比较对象的标识使用is 布尔运算符 print(a==1

  • Python wheel文件详细介绍

    目录 1. wheel介绍 2. wheel的类型 3. 创建wheel 4. 导入使用wheel 1. wheel介绍 .whl文件(WHL file)也称为轮子(wheel),这是用于python分发(distribution)的标准内置包格式(standard built-package format).它包含安装所需的所有文件和元数据(metadata)..whl文件使用zip进行压缩..whl文件还包含有关此wheel文件支持的Python版本和平台的信息..whl文件格式是一种即装即

随机推荐