IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> Python的字典应用 -> 正文阅读

[游戏开发]Python的字典应用


一、前言

??字典和列表类似,也是可变序列,不过与列表不同,它是无序的可变序列,保存内容是以“键值对”的形式存放。


二、字典特征

??字典的主要特征如下:

  • 通过键而不是通过索引来读取
  • 字典是任意对象的无序集合
  • 字典是可变的,并且可以任意嵌套
  • 字典的键必须唯一
  • 字典中的键必须不可变

三、字典的创建和删除

??创建字典,在“键”和“值”之间使用冒号分割,相邻两个元素使用逗号分隔,所有的元素放在一个大括号里“{ }”中。语法格式如下:

dictionary = {"key1":"value1","key2":"value2"}

参数说明:

  • dictionary:表示字典名称
  • key1、key2:表示元素的键,必须是唯一的,并且不可变的,可以是字符串、元组或者数字
  • value1、value2:表示元素的值,可以是任何数据,不是必须唯一

??例如,创建一个保存通讯录信息的字典,可以使用下列代码:

dictionary = {"qq": "111112233", "mr": "23455666", "无语": "12333-233"}
print(dictionary)

执行结果,如下:
在这里插入图片描述


??同列表和元组一样,在Python中可以创建一个空字典。使用下列两个种方法创建空字典:

dictionary = {}

或者

dictionary = dict()

??Python的dict()方法除了可以创建一个空字典外,还可以通过已有数据快速创建字典,主要表现为以下两种形式:

1.通过映射函数创建字典

??通过映射函数创建字典,语法格式如下:

dictionary = dict(zip(list1,list2))

参数说明:

  • dictionary:表示字典名称
  • zip()函数:用于将多个列表或元组对应位置的元素组合为元组,并返回包含这些内容的zip对象
  • list1:一个列表,用于指定生成字典的键
  • list2:一个列表,用于指定生成字典的值

实例:

name = ["小红", "小菜鸡", "小白"]
sign = ["跑车", "妖刀", "可爱"]
dictionary = dict(zip(name, sign))
print(dictionary)

执行结果,如下所示:
在这里插入图片描述


2.通过给定的“关键字参数”创建字典

??通过给定的“关键字参数”创建字典,语法格式如下:

dictionary = dict(key1 = value1,key2 = value2)

参数说明:

  • dictionary:表示字典名称
  • key1、key2:表示参数明,必须是唯一
  • value1、value2:表示参数值,可以是任意数据类型

实例:

dictionary = dict(小红='跑车', 小菜鸡='妖刀', 小白='可爱')
print(dictionary)

执行结果,如下所示:
在这里插入图片描述


??在Python中,还可以使用dict对象的fromkeys()方法创建值为空的字典,语法如下:

dictionary = dict.fromkeys(list1)

参数说明:

  • dictionary:表示字典名称
  • list1:作为字典的键的列表

实例:

name = ["小红", "小菜鸡", "小白"]
dictionary = dict.fromkeys(name)
print(dictionary)

执行结果,如下所示:
在这里插入图片描述


3.字典的删除

??同列表和元组一样,不需要的字典可以用del命令删除整个字典。通过下列代码可以完成定义字典删除:

del dictionary

??另外,如果只想清空字典的全部元素,可以使用字典的clear()方法实现,清空字典全部元素,代码如下:

dictionary.clear()

四、通过“键值对”访问字典

??在Python中,如果想输出字典的内容也比较简单,可以直接用print()函数打印,代码如下:

dictionary = dict(小红='跑车', 小菜鸡='妖刀', 小白='可爱')
print(dictionary)

执行结果,如下所示:
在这里插入图片描述


??知道某个“键”,输出某个“值”,代码如下:

dictionary = dict(小红='跑车', 小菜鸡='妖刀', 小白='可爱')
print(dictionary["小红"])

执行结果,如下所示:
在这里插入图片描述
??当用该方法取值时,指定的“键”不存,将抛出异常,如下图:
在这里插入图片描述
??所以为了避免异常,可以将代码做一下修改,如下:

dictionary = dict(小红='跑车', 小菜鸡='妖刀', 小白='可爱')
print("小红的值是:", dictionary["小红"] if "小红" in dictionary else "我的字典里没有这个人")

执行结果,如下所示:
在这里插入图片描述


五、遍历字典

??字典是以“键值对”的形式存储数据的,所以在使用字典时需要获取这些键值对,使用字典对象的items()方法可以获取字典的“键值对”列表,语法如下所示:

dictionary.items()

??例如:定义一个字典,然后通过items()方法获取“键值对”的元组列表,并输出全部“键值对”,代码如下:

dictionary = dict(小红='跑车', 小菜鸡='妖刀', 小白='可爱')
for item in dictionary.items():
    print(item)

执行结果,如下所示:
在这里插入图片描述


??上面的示例得到是元组中的个元素,如果想获取到具体的每个键和值,可以使用下列代码:

dictionary = dict(小红='跑车', 小菜鸡='妖刀', 小白='可爱')
for key, value in dictionary.items():
    print(key, "的值是", value)

执行结果,如下所示:
在这里插入图片描述


六、添加、修改和删除字典元素

1.添加字典元素

??由于字典是可以变序列,所以可以随时字典中添加“键值对”,语法格式如下:

dictionary[key] = value

参数说明:

  • dictionary:表示字典名称
  • key:表示添加元素的键,必须是唯一的,并且不可变
  • value:表示添加元素的值,可以是任何数据类型,不必唯一

实例:

dictionary = dict(小红='跑车', 小菜鸡='妖刀', 小白='可爱')
dictionary["小明"] = "小聪明"  # 添加一个元素
print(dictionary)

执行结果,如下所示:
在这里插入图片描述


2.修改字典元素

实例:

dictionary = dict(小红='跑车', 小菜鸡='妖刀', 小白='可爱')
dictionary["小红"] = "自行车"  # 修改一个元素
print(dictionary)

执行结果,如下所示:
在这里插入图片描述


3.删除字典元素

实例:

dictionary = dict(小红='跑车', 小菜鸡='妖刀', 小白='可爱')
del dictionary["小红"]  # 删除一个元素
print(dictionary)

执行结果,如下所示:
在这里插入图片描述


七、字典推导式

??使用字典推导式可以快速生成一个字典,它的表现形式和列表推导式类似。例如,我们可以使用下列代码生成一个包含4个随机数的字典,其中字典值使用数字表示:

import random

randomdict = {i: random.randint(10, 100) for i in range(1, 5)}
print("生成的字典为:", randomdict)

执行结果,如下所示:
在这里插入图片描述


  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-04-22 19:10:32  更:2022-04-22 19:12:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/16 21:43:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码