生命在于学习——Python人工智能原理(2.3.4)

在这里插入图片描述

三、Python的数据类型

3.2 Python的组合数据类型

3.2.4 字典-映射类型

映射类型是键-值数据项的组合,每一个元素都是一个键-值对,即元素是(key,value),元素之间是无序的,键-值对(key,value)是一种二元关系,源于属性和值的映射关系。
字典是Python中的一种映射类型,用于存储键值对,每个键必须是唯一的,而值可以是任意数据类型,包括整数、浮点数、字符串、列表、甚至是另一个字典。字典是无序的,即字典中的键值对没有固定的顺序。
字典的特点

无序性:字典是无序的,即其元素的排列顺序并不按照添加的顺序进行。
键值对存储:字典的元素是以键值对的形式存储的,其中键(key)是唯一的,并且是不可变的数据类型(如字符串、数字、元组等),而值(value)可以是任意类型的数据。
可变性:字典是可变的,即可以在字典中添加、修改或删除键值对。
高效查找:由于字典使用哈希表实现,因此查找、添加、删除等操作都具有平均情况下接近O(1)的时间复杂度。
无索引:与列表和元组不同,字典不支持通过索引访问元素,而是通过键来访问对应的值。

字典的操作

1. 创建字典
使用花括号 {} 创建:例如 {'name': 'Alice', 'age': 25}
使用 dict() 函数创建:例如 dict(name='Alice', age=25)
从列表的元组对创建:例如 dict([('name', 'Alice'), ('age', 25)])
2. 访问字典中的值
使用方括号 [] 和键来访问值,例如 my_dict['name']
如果访问不存在的键,会触发 KeyError 异常。可以使用 get() 方法来避免异常,并返回指定的默认值。
3. 修改字典
直接对键进行赋值即可修改该键对应的值,例如 my_dict['age'] = 30
4. 添加键值对
如果键不存在于字典中,直接赋值即可添加新的键值对,例如 my_dict['city'] = 'New York'
5. 删除键值对
使用 pop() 方法删除指定键的键值对,并返回该键对应的值,例如 my_dict.pop('name')
使用 del 语句删除指定键的键值对,例如 del my_dict['age']
使用 clear() 方法清空字典中的所有键值对,例如 my_dict.clear()
6. 遍历字典
使用 for 循环遍历字典的键,例如 for key in my_dict:
使用 for 循环遍历字典的键值对,例如 for key, value in my_dict.items():
7. 字典的常用方法
len():返回字典中键值对的数量。
str():将字典转换为字符串格式。
type():返回字典的数据类型。
keys():返回字典中所有的键。
values():返回字典中所有的值。
items():返回字典中所有的键值对。
get():返回指定键的值,如果键不存在则返回默认值。
setdefault():如果键在字典中不存在,则设置该键的值;如果键已存在,则不会改变其值。
update():使用另一个字典的键值对更新当前字典。
这些特点和操作使得字典在Python中成为处理关联数据的强大工具。

3.3 运算符

运算符是告诉程序指定运算操作的符号,是对操作数进行运算,通过运算符可以将两个不同的数据组合起来得到一个运算结果。
Python中的运算符按照不同的功能,分为算术运算符、比较运算符和逻辑运算符。
Python 提供了多种运算符,用于执行各种算术运算、比较、逻辑判断、位运算等。以下是对这些运算符的介绍和示例:

1. 算术运算符
-(取反):result = -5
+(加法):result = 2 + 3
-(减法):result = 5 - 3
*(乘法):result = 2 * 3
/(除法):result = 6 / 2
//(整除):result = 7 // 3 # 结果为 2
%(取模):result = 7 % 3 # 结果为 1
**(幂运算):result = 2 ** 3 # 结果为 8
2. 比较运算符
==(等于):result = (2 == 3) # 结果为 False
!=(不等于):result = (2 != 3) # 结果为 True
>(大于):result = (5 > 3) # 结果为 True
<(小于):result = (2 < 3) # 结果为 True
>=(大于或等于):result = (5 >= 5) # 结果为 True
<=(小于或等于):result = (2 <= 3) # 结果为 True
3. 逻辑运算符
and(逻辑与):result = (True and False) # 结果为 False
or(逻辑或):result = (True or False) # 结果为 True
not(逻辑非):result = not False # 结果为 True
4. 位运算符
&(按位与):result = 5 & 3 # 5(二进制101)和3(二进制011)的按位与结果是1(二进制001)
|(按位或):result = 5 | 3 # 结果是7(二进制111)
^(按位异或):result = 5 ^ 3 # 结果是6(二进制110)
~(按位取反):result = ~5 # 结果取决于整数的大小和系统的位数(对于32位系统,-6)
<<(左移):result = 2 << 1 # 结果是4(二进制100)
>>(右移):result = 4 >> 1 # 结果是2(二进制010)
5. 成员运算符
in:检查某个元素是否存在于某个序列中(如列表、元组或字符串):result = 'a' in 'hello' # 结果为 True
not in:检查某个元素是否不存在于某个序列中:result = 'z' not in 'hello' # 结果为 True
6. 运算符的优先级
Python 中的运算符优先级遵循数学中的常规优先级规则,如括号内的运算优先级最高,幂运算高于乘除和取模,乘除和取模高于加减,然后是比较运算符,接着是逻辑运算符等。可以使用括号来改变默认的优先级。

示例:

python
result = 2 + 3 * 4  # 结果是 14,因为乘法优先于加法  
result = (2 + 3) * 4  # 结果是 20,因为括号改变了优先级
在编写复杂的数学表达式或逻辑表达式时,使用括号可以确保表达式的计算顺序符合你的预期。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/757635.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

6月28日PolarDB开源社区长沙站,NineData联合创始人周振兴将带来《数据库DevOps最佳实践》主题分享

6月28日&#xff08;周五&#xff09;&#xff0c;PolarDB 开源社区将来到湖南长沙&#xff0c;与湖南的开发者朋友们一起进行数据库技术交流&#xff01;NineData 联合创始人周振兴受邀参加&#xff0c;并将带来《数据库 DevOps 最佳实践》的主题分享。 本次活动议程&#xff…

在晋升受阻或遭受不公待遇申诉时,这样写是不是好一些?

在晋升受阻或遭受不公待遇申诉时&#xff0c;这样写是不是好一些&#xff1f; 在职场中&#xff0c;晋升受阻或遭受不公待遇是员工可能面临的问题之一。面对这样的情况&#xff0c;如何撰写一份有效的申诉材料&#xff0c;以维护自己的合法权益&#xff0c;就显得尤为重要。#李…

Application Studio 学习笔记(3)

一、工具栏按钮 1、panel控件添加工具栏按钮 展开panel控件的Advanced属性并点击Action Data&#xff0c;进入Action Data编辑界面 新增Action Data数据&#xff0c;Sequence设定工具按钮的显示顺序 默认工具按钮会显示在弹出工具栏中 勾选Add to Primary ToolBar后&#xff…

龙芯久久派到手开机测试

今天刚拿到龙芯久久派&#xff0c;没看到文档&#xff0c;只有视频&#xff0c;我来写个博客&#xff0c;做个记录&#xff0c;免得以后忘记 1.连接usb转ttl串口与龙芯久久派&#xff0c;如图所示。 2.将usb转串口接到电脑USB口 也就是这个接电脑上 3.打开串口调试助手或Secu…

惠海H6392 2.6v升5V 3.7V升9V 4.2V升12V 升压恒压芯片 小家电IC

惠海H6392升压恒压芯片是一款小家电、移动设备以及其他需要升压恒压电源的电子设备设计的DC-DC转换器。这款芯片以其独特的产品特性和广泛的应用场景&#xff0c;为电子产品设计者提供了高效、稳定的电源解决方案。 产品描述&#xff1a; H6392采用了简单的电流模式升压技术&a…

CesiumJS【Basic】- #027 加载倾斜摄影文件

文章目录 加载倾斜摄影文件1 目标2 代码2.1 main.ts3 资源加载倾斜摄影文件 1 目标 加载倾斜摄影文件(通常是.json和.b3dm配套使用) 2 代码 有意改变了高度,因为大部分情况下是需要手动调节高度的 2.1 main.ts import * as Cesium from cesium;const viewer = new Ces…

全国31省细分产品出口数据集(2002-2022年)

数据简介&#xff1a;整理全国31个省直辖市自治区按hs码分的22类细分产品的出口数据&#xff0c;只包含22类的细分&#xff0c;不包含更细的类目。可用来计算出口产品质量&#xff0c;出口产品技术复杂度等指标&#xff0c;数据区间为2002-2022年。 数据名称&#xff1a;31省细…

怎样查看自己的Windows电脑最近弄了哪些内容

一、需求说明 有时候我们的电脑别人需要使用&#xff0c;你不给他使用又不行&#xff0c;且你也不在电脑身边&#xff0c;你只能告诉他自己的电脑密码让他操作&#xff0c;此时你并不不知道他操作了哪些内容。 还有一个种情况是自己不在电脑旁边&#xff0c;且电脑没有锁屏&…

判断时间序列中的元素是否为:年初、年末、季初、季末

【小白从小学Python、C、Java】 【考研初试复试毕业设计】 【Python基础AI数据分析】 判断时间序列中的元素是否为&#xff1a; 年初、年末、季初、季末 Series.dt.is_year_start Series.dt.is_year_end Series.dt.is_quarter_start Series.dt.is_quarter_end 选择题 关于以下…

探索LangChain-Chatchat 0.3:一体化Agent与强大RAG模型的全面入门指南

介绍 LangChain-Chatchat 支持RAG和Agent0.3版本跟大模型解耦,支持Xinference、Ollama、LocalAI、FastChat、One API,可以非常方便的切换各个模型,本文只是介绍XinferenceXorbits Inference (Xinference) 是一个开源平台&#xff0c;用于简化各种 AI 模型的运行和集成。借助 X…

Go-知识测试-工作机制

Go-知识测试-工作机制 生成test的maintest的main如何启动case单元测试 runTeststRunnertesting.T.Run 示例测试 runExamplesrunExampleprocessRunResult 性能测试 runBenchmarksrunNtesting.B.Run 在 Go 语言的源码中&#xff0c;go test 命令的实现主要在 src/cmd/go/internal…

pip安装neuralcoref失败ERROR

最终解决的方法如下&#xff1a; git clone https://github.com/huggingface/neuralcoref.git cd neuralcoref pip install -r requirements.txt python setup.py install 原始步骤&#xff1a; 安装 neuralcoref 的依赖&#xff1a; 安装编译 neuralcoref 所需的依赖项&am…

Codeforces Round 954 (Div. 3) A B C D

A. X Axis time limit per test: 2 second memory limit per test: 256 megabytes input: standard input output: standard output You are given three points with integer coordinates x 1 x_1 x1​, x 2 x_2 x2​, and x 3 x_3 x3​ on the X X X axis ( 1 ≤ x i ≤ …

fiddler使用

1、设置抓取HTTPS的请求 先选中浏览器Browser---Chrome 默认是不抓https的数据包的 有时我们抓取的的包是https的&#xff0c;不是http的&#xff0c;就要做一些设置 Tools---Options 勾选Capture HTTPS CONNECTs 勾选Decrypt HTTPS traffic 勾选 Ignore server certificat…

视频融合共享平台LntonCVS统一视频接入平台智慧安防应用方案

安防视频监控平台LntonCVS是一款拥有强大拓展性和灵活部署能力的综合管理平台。它支持多种主流标准协议&#xff0c;包括国标GB28181、RTSP/Onvif、RTMP等&#xff0c;同时兼容各厂家的私有协议和SDK&#xff0c;如海康Ehome、海大宇等。LntonCVS不仅具备传统安防视频监控功能&…

Github Page 使用手册(保姆级教程!)

搭建个人网站&#xff1f;没有服务器&#xff1f;那不如尝试一下 Github Page &#xff01; 最近我正好在搭建个人网站&#xff0c;于是就写一篇博客来详细介绍 Github Page 的使用、部署方式吧&#xff01; 一、进入 Github 访问&#xff1a;github.com 如果你没有 github…

动手学深度学习(Pytorch版)代码实践 -卷积神经网络-24深度卷积神经网络AlexNet

24深度卷积神经网络AlexNet import torch from torch import nn import liliPytorch as lp import liliPytorch as lp import matplotlib.pyplot as pltdropout1 0.5 #Alexnet架构 net nn.Sequential(nn.Conv2d(1, 96, kernel_size11, stride4, padding1),nn.ReLU(),nn.MaxPo…

操作系统之混淆知识

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、前言&#x1f680;&#x1f680;&#x1f680;二、正文☀️☀️☀️1.页面大小和页内偏移量之间的关系是什么&#xff1f; 三、总结&#x1f353;&#x1f353;…

如何在写代码中找到乐趣

平时我们写代码呢&#xff0c;多数情况都是流水线式写代码&#xff0c;基本就可以实现业务逻辑了。 如何在写代码中找到乐趣呢&#xff0c;我觉得&#xff0c;最好的方式就是&#xff1a;使用设计模式优化自己的业务代码。 参考资料&#xff1a; 实战&#xff01;工作中常用到…

RAID0、RAID1、RAID5、RAID10、软RAID

硬盘 连续空间 无法 扩容 每个raid对应每个raid卡&#xff0c;没有阵列卡就不能用raid lvm 非连续空间 可以动态扩容 raid 备份&#xff0c; 提高读写性能&#xff0c;不能扩容 raid 是磁盘的集合&#xff0c;按照排列组合的方法不 一&#xff0c;给 raid 去了不同的名字…