Python 字典

字典(Dictionary)

字典是一个无序、可变和有索引的集合。在 Python 中,字典用花括号编写,拥有键和值。

实例

创建并打印字典:

thisdict =	{
"brand": "Porsche",
"model": "911",
"year": 1963
}
print(thisdict) #结果为:{'brand': 'Porsche', 'model': '911', 'year': 1963}

访问项目

您可以通过在方括号内引用其键名来访问字典的项目:

实例

获取 “model” 键的值:

x = thisdict["model"]

还有一个名为 get() 的方法会给你相同的结果:

实例

获取 “model” 键的值:

x = thisdict.get("model")

更改值

您可以通过引用其键名来更改特定项的值:

实例
把 "year" 改为 2019:

thisdict =	{
"brand": "Porsche",
"model": "911",
"year": 1963
}
thisdict["year"] = 2019 #结果为:{'brand': 'Porsche', 'model': '911', 'year': 2019}

遍历字典

您可以使用 for 循环遍历字典。

循环遍历字典时,返回值是字典的键,但也有返回值的方法。

实例

逐个打印字典中的所有键名:

for x in thisdict:
print(x)
'''
结果为:
brand
model
year
'''
实例

逐个打印字典中的所有值:

for x in thisdict:
print(thisdict[x])
'''
结果为
Porsche
911
1963
'''
实例

您还可以使用 values() 函数返回字典的值:

for x in thisdict.values():
print(x)
'''
结果为:
Porsche
911
1963
'''
实例

通过使用 items() 函数遍历键和值:

for x, y in thisdict.items():
print(x, y) 结果为
brand Porsche
model 911
year 1963

检查键是否存在

要确定字典中是否存在指定的键,请使用 in 关键字:

实例

检查字典中是否存在 “model”:

thisdict =	{
"brand": "Porsche",
"model": "911",
"year": 1963
}
if "model" in thisdict:
print("Yes, 'model' is one of the keys in the thisdict dictionary")

字典长度

要确定字典有多少项目(键值对),请使用 len() 方法。

实例

打印字典中的项目数:

print(len(thisdict))

添加项目

通过使用新的索引键并为其赋值,可以将项目添加到字典中:

实例
thisdict =	{
"brand": "Porsche",
"model": "911",
"year": 1963
}
thisdict["color"] = "red"
print(thisdict)

删除项目

有几种方法可以从字典中删除项目:

实例

pop() 方法删除具有指定键名的项:

thisdict =	{
"brand": "Porsche",
"model": "911",
"year": 1963
}
thisdict.pop("model")
print(thisdict)
实例

popitem() 方法删除最后插入的项目(在 3.7 之前的版本中,删除随机项目):

thisdict =	{
"brand": "Porsche",
"model": "911",
"year": 1963
}
thisdict.popitem()
print(thisdict)
实例

del 关键字删除具有指定键名的项目:

thisdict =	{
"brand": "Porsche",
"model": "911",
"year": 1963
}
del thisdict["model"]
print(thisdict)
实例

del 关键字也可以完全删除字典:

thisdict =	{
"brand": "Porsche",
"model": "911",
"year": 1963
}
del thisdict

print(thisdict) #this 会导致错误,因为 “thisdict” 不再存在。

实例

clear() 关键字清空字典:

thisdict =	{
"brand": "Porsche",
"model": "911",
"year": 1963
}
thisdict.clear()
print(thisdict)

复制字典

您不能通过键入 dict2 = dict1 来复制字典,因为:dict2 只是对 dict1 的引用,而 dict1 中的更改也将自动在dict2 中进行。

有一些方法可以进行复制,一种方法是使用内建的字典方法 copy()。

实例

使用 copy() 方法来复制字典:

thisdict =	{
"brand": "Porsche",
"model": "911",
"year": 1963
}
mydict = thisdict.copy()
print(mydict)

制作副本的另一种方法是使用内建方法 dict()。

实例

使用 dict() 方法创建字典的副本:

thisdict =	{
"brand": "Porsche",
"model": "911",
"year": 1963
}
mydict = dict(thisdict)
print(mydict)

嵌套字典

词典也可以包含许多词典,这被称为嵌套词典。

实例

创建包含三个字典的字典:

myfamily = {
"child1" : {
"name" : "Phoebe Adele",
"year" : 2002
},
"child2" : {
"name" : "Jennifer Katharine",
"year" : 1996
},
"child3" : {
"name" : "Rory John",
"year" : 1999
}
} 结果为:
{'child1': {'name': 'Phoebe Adele', 'year': 2002}, 'child2': {'name': 'Jennifer Katharine', 'year': 1996}, 'child3': {'name': 'Rory John', 'year': 1999}}

或者,如果您想嵌套三个已经作为字典存在的字典:

实例

创建三个字典,然后创建一个包含其他三个字典的字典:

child1 = {
"name" : "Phoebe Adele",
"year" : 2002
}
child2 = {
"name" : "Jennifer Katharine",
"year" : 1996
}
child3 = {
"name" : "Rory John",
"year" : 1999
} myfamily = {
"child1" : child1,
"child2" : child2,
"child3" : child3
} 结果是:
{'child1': {'name': 'Phoebe Adele', 'year': 2002}, 'child2': {'name': 'Jennifer Katharine', 'year': 1996}, 'child3': {'name': 'Rory John', 'year': 1999}}

dict() 构造函数

也可以使用 dict() 构造函数创建新的字典:

实例
thisdict = dict(brand="Porsche", model="911", year=1963)
# 请注意,关键字不是字符串字面量
# 请注意,使用了等号而不是冒号来赋值
print(thisdict) #结果为:{'brand': 'Porsche', 'model': '911', 'year': 1963}

字典方法

Python 提供一组可以在字典上使用的内建方法。

方法 描述
clear() 删除字典中的所有元素
copy() 返回字典的副本
get() 返回指定键的值
fromkeys() 返回拥有指定键和值的字典
items() 返回包含每个键值对的元组的列表
keys() 返回包含字典键的列表
pop() 删除拥有指定键的元素
popitem() 删除最后插入的键值对
setdefault() 返回指定键的值。如果该键不存在,则插入具有指定值的键。
update() 使用指定的键值对字典进行更新
values() 返回字典中所有值的列表

Python3 字典浅析的更多相关文章

  1. python3 字典常见用法总结

    python3 字典常见用法总结 Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字典也被称作关联数组或哈希表 ...

  2. Python3 字典 get() 方法

     Python3 字典 描述 Python 字典 get() 函数返回指定键的值,如果值不在字典中返回默认值. 语法 get()方法语法: dict.get(key, default=None) 参数 ...

  3. Python3 字典 fromkeys()方法

     Python3 字典 描述 Python 字典 fromkeys() 函数用于创建一个新字典,以序列seq中元素做字典的键,value为字典所有键对应的初始值. 语法 fromkeys()方法语法: ...

  4. Python3 字典 update() 方法

     Python3 字典 描述 Python 字典 update() 函数把字典dict2的键/值对更新到dict里. 语法 update()方法语法: dict.update(dict2) 参数 di ...

  5. Python3 字典 pop() 方法

     Python3 字典 描述 Python 字典 pop() 方法删除字典给定键 key 所对应的值,返回值为被删除的值.key值必须给出. 否则,返回default值. 语法 pop()方法语法: ...

  6. Python3 字典 clear()方法

     Python3 字典 描述 Python 字典 clear() 函数用于删除字典内所有元素. 语法 clear()方法语法: dict.clear() 参数 NA. 返回值 该函数没有任何返回值. ...

  7. Python3 字典(map)

    ayout: post title: Python3 字典(map) author: "luowentaoaa" catalog: true tags: mathjax: true ...

  8. python系列七:Python3字典dict

    #!/usr/bin/python #Python3 字典#字典是支持无限极嵌套的citys={    '北京':{        '朝阳':['国贸','CBD','天阶','我爱我家','链接地产 ...

  9. python011 Python3 字典

    Python3 字典字典是另一种可变容器模型,且可存储任意类型对象.字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如 ...

随机推荐

  1. 解决:HBuilder X 未检测到手机或模拟器

    1.问题 我使用Android 9版本的手机,开发者选项已开启USB调试,但是HBuilderX未检测到手机或模拟器. 2.解决办法 1.找到HBuilderX安装目录下的D:\Archive\HBu ...

  2. Django Web 测试

    Django 单元测试 模拟浏览器发起请求,测试 web 功能.只是简单记录一下怎么使用. 环境 Win10 Python2.7 Django 1.8.11 MySQL5.6 项目结构 大致如下 my ...

  3. web新手第二周知识汇总

    这周学习了盒模型以及一些定位的知识,现在简单做下汇总 盒模型组成部分: ie浏览器默认值是border-box content(内容盒)蓝色 padding(内容和边框的距离 绿色 填充盒包含内容)b ...

  4. JDK8 String类知识总结

    一.概述 java的String类可以说是日常实用的最多的类,但是大多数时候都只是简单的拼接或者调用API,今天决定深入点了解一下String类. 要第一时间了解一个类,没有什么比官方的javaDoc ...

  5. 阿里云体验实验室 教你如何《快速搭建LNMP环境》

    ## 体验平台简介 面向开发者和中小企业打造的一站式.全云端的开发平台,打开浏览器就可以开发.调试.上线,所测即所得,并结合无服务器的模式,重新定义云原生时代的研发工作方法论.旨在降低开发者上手成本和 ...

  6. Python版常见的排序算法

    学习笔记 排序算法 目录 学习笔记 排序算法 1.冒泡排序 2.选择排序 3.插入排序 4.希尔排序 5.快速排序 6.归并排序 7.堆排序 排序分为两类,比较类排序和非比较类排序,比较类排序通过比较 ...

  7. libview关于图片导入并显示

    1 程序框图->图形与声音->图形格式,选择“写入某个格式的图片”,然后在路径处创建输入控件,然后在“图片函数”中选择“绘制平面像素图”,在控件输出端“新图片”创建显示控件.打开前面板,在 ...

  8. Ubuntu图形桌面切换到命令行界面

    Ubuntu提供两种进入方式,一个是我们平常最熟悉的图形界面形式,还有一种是纯命令行方式. 1.按 Ctrl + Alt + (F1~F6中的任意一个)即可进入纯命令行模式. 进入后,需要输入用户名, ...

  9. 第3篇scrum冲刺(5.23)

    一.站立会议 1.照片 2.工作安排 成员 昨天已完成的工作 今天的工作安排 困难 陈芝敏  调用小程序接口获取用户微信登录权限,初始化  完成云开发配置,初始化数据库: 进度较慢,后面可能会有点困难 ...

  10. Java GUI 图书管理系统

    01 概述 一款功能强大的图书馆管理系统,功能齐全,小白/大学生项目实训,学习的不二之选. 02 技术 此系统使用 java awt 实现.java.awt是一个软件包,包含用于创建用户界面和绘制图形 ...