python强势来袭-8-组合数据类型

振动工程开源化:从MATLAB迁移到Python的实战指南与工具链重构 信号处理与振动分析是工程领域的核心技术,广泛应用于结构健康监测、噪声控制、模态测试等场景。其核心原理在于通过傅里叶变换、滤波和系统辨识等方法,从时域或频域信号中提取特征信息,以评估系统动态特性。开源生态,特别是Python科学计算栈(NumPy、SciPy),凭借其零成本、高透明度和强大的可定制性,为这些传统由商业软件主导的领域提供了新的技术路径。这不仅能有效控制软件授权成本,更能实现算法流程的深度定制与集成,提升研究的可重复性和工程部署的灵活性。本文聚焦于**振动工程**领域的核心工作流,探讨如何将依赖M 阅读详情

继基本数据类型之后,本章进行组合数据类型的讲解

组合数据类型

python中为了方便一部分相似数据的处理,提供了各种组合类型,常见的如列表、元组
python中的列表是可变序列,元组是不可变序列

(1) 列表

列表的语法结构:通过一堆方括号包含起来的数据序列,可以存放重复数据

name = ['张小凡', '碧瑶', '陆雪琪', '林惊羽']

因为列表本身也是对象,所以可以进行嵌套处理

user = [['张小凡', '鬼王宗'], ['碧瑶', '鬼王宗'], ['陆雪琪', '青云门']]

列表数据的查看,可以通过索引/下标进行查看

> user
 [['张小凡', '鬼王宗'], ['碧瑶', '鬼王宗'], ['陆雪琪', '青云门']]
> user[1]
['碧瑶', '鬼王宗']
> user[1][0]
'碧瑶'

列表中追加数据:append()

user.append(['金瓶儿', '合欢派']);
结果: [['张小凡', '鬼王宗'], ['碧瑶', '鬼王宗'], ['陆雪琪', '青云门'], ['金瓶儿', '合欢派']]

列表中指定位置追加数据:insert()

user.insert(2, ['秦无炎', '万毒门']);
结果:[['张小凡', '鬼王宗'], ['碧瑶', '鬼王宗'], ['秦无炎', '万毒门'], ['陆雪琪', '青云门'], ['金瓶儿', '合欢派']]

删除列表末尾的元素:pop()

user.pop();
结果:[['张小凡', '鬼王宗'], ['碧瑶', '鬼王宗'], ['秦无炎', '万毒门'], ['陆雪琪', '青云门']]

删除列表中指定位置的元素:pop(index)

user.pop(2);
结果:[['张小凡', '鬼王宗'], ['碧瑶', '鬼王宗'], ['陆雪琪', '青云门']]

将列表中指定位置的数据进行替换,直接给对应的索引赋值

user[2] = ['鬼先生', '鬼王宗']
结果:[['张小凡', '鬼王宗'], ['碧瑶', '鬼王宗'], ['鬼先生', '鬼王宗']]

至此,常见的列表操作就基本介绍结束了,后续更加细致的操作手段和方式,在项目中需要进行深入的时候和熟练了。

(2) 元组

元组在python中,其实是列表的一种特殊的形式,一旦声明创建就不允许改变。
语法结构:使用一对圆括号包含起来的一组数据,可以存放重复数据

season = ('春' , '夏' , '秋' , '冬')

定义并给元组进行赋值之后,就可以像列表一样进行数据的查看了

season
结果: ('春' , '夏' , '秋' , '冬')
season[1]
结果:'夏'

由于元组的数据一旦定义就不可更改,在一定程度上提高了代码的安全性,所以在程序设计开发的过程中,对于一部分不需要更改的数据如果可以定义成元组的,就不要定义成列表了。

注意:元组中如果存放的是其他的内容可变的元素的话,一定要注意此时的元组中对象的数据是可变的。
如:

# 定义了一个元组,此时元组中出了存放字符串,还存放了一个列表
tuple = ('张小凡', '林惊羽', ['陆雪琪', '青云门'])
tuple[2][0] = '碧瑶'
tuple[2][1] = '鬼王宗'
tuple
结果:('张小凡', '林惊羽', ['碧瑶', '鬼王宗'])

执行过程如下图所示
元组中包含对象,修改对象数据的执行过程

(3) 集合

python中,还提供了一种特殊的数据类型,集合Set,和列表类似,但是不能存储相同的数据;注意:集合set中存放数据是不能重复的,并且是没有存放顺序的,也就是没有下标的。

语法:使用一对大括号/花括号包含起来的一组数据

h = {'集合元素'}
hreo = set(['将列表转换成集合'])
heros = {'寒冰艾希', '皎月戴安娜', '钢铁波比', '雪人努努', '迷失纳尔'};
heros
结果:{'寒冰艾希', '皎月戴安娜', '钢铁波比', '雪人努努', '迷失纳尔'};
heros[3] # 错误,集合中没有下标,是无序存放数据的

集合中增加数据:add()

heros.add('青钢影卡密尔');
heros
结果:{'寒冰艾希', '皎月戴安娜', '钢铁波比', '雪人努努', '迷失纳尔', '青钢影卡密尔'};

集合中删除数据:remove()

heros.remove("皎月戴安娜");
heros
结果:{'寒冰艾希', '钢铁波比', '雪人努努', '迷失纳尔', '青钢影卡密尔'};
(4) 字典

为了方便数据在组合数据类型中的管理,python 还提供了一种特殊存储数据的组合数据类型:字典。通过key-value键值对的形式来存储数据,可以很方便的通过key来对value进行增删改查的操作
语法结构:

# 定义一个字典,每一个数据都是成对出现的 key:value
heros = {"皎月女神":"戴安娜", "虚空遁地者":"雷克赛", "沙漠皇帝":"阿兹尔", "无双剑姬":"菲奥娜"}
# 通过字典的名称使用字典
heros
结果:{"皎月女神":"戴安娜", "虚空遁地者":"雷克赛", "沙漠皇帝":"阿兹尔", "无双剑姬":"菲奥娜"}
# 通过字典中数据的key来获取对应的value数据
heros['皎月女神']
结果:'戴安娜'

查询字典中的数据,使用方括号或者get()函数

# 使用方括号的形式查询数据
heros['皎月女神']
结果:'戴安娜'
# 使用get()函数查询数据
heros.get('皎月女神')
结果:'戴安娜'

修改字典中指定的数据,通过给指定的key直接赋值就可以修改

heros['沙漠皇帝'] = '兹尔大帝'
heros.get('沙漠皇帝')
结果:'兹尔大帝'

删除字典中的数据,通过删除指定的key对应的数据即可删除

heros.pop('沙漠皇帝')
heros
结果:{'皎月女神': '戴安娜', '虚空遁地者': '雷克赛', '无双剑姬': '菲奥娜'}

以上四种数据类型的比较
元组Tuple是存放固定的数据
集合Set中的数据插入和遍历的时间,随数据增多而变慢
列表List中的数据插入和查询的时间,随数据的增多而变慢
字典Dict中的数据插入和查询的速度非常快,不会因为数据太多而变慢

元组、集合和列表占用内存较少,字典占用内存较多,字典是一种通过占用空间来换取操作速度的一种数据类型

4种组合数据类型部分的基本使用讲解完成,下一章单独讲解变量和运算符的操作

如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。谢谢各位小伙伴。

最后针对Android程序员,除了上面的内容,我这边给大家整理了一套最新的python系统资料可以免费送给大家,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。需要这些资料的可以可以进群:851211580 即可领取 。

希望能帮助到大家,也节省大家在网上搜索资料的时间来学习,也可以分享动态给身边好友一起学习!后续还会更新技术干货,谢谢您的支持!

基于Python的数据分析实战:从数学建模竞赛获奖名单挖掘策略洞察 数据分析作为从海量信息中提取价值的关键技术,其核心在于通过数据清洗、处理与挖掘,将非结构化信息转化为可操作的洞察。在工程实践中,Python的pandas库与正则表达式是处理文本数据的利器,能够高效完成信息抽取与字段标准化。这类技术在教育评估、竞赛分析等场景中价值显著,例如对数学建模竞赛获奖名单进行深度分析,可以揭示院校竞争力分布与选题策略。通过数据清洗和pandas操作,我们能从原始名单中识别优势赛道与成功模式,为参赛者提供基于数据的策略参考,这正是数据驱动决策在学术竞赛中的具体应用。 阅读详情

相关推荐

Python库 | season-0.2.11-py3-none-any.whl

资源分类:Python库 所属语言:Python 使用前提:需要解压 资源全名:season-0.2.11-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.youkuaiyun.com/article/details/101784059

7、python元组&字典——旺仔

python:元组&字典

wang_12588的博客 1398

SpringBoot使用mybatis-plus的自动代码生成器

一.SpringBoot使用mybatis-plus+自动代码生成 使用mybatis-plus可以自动帮我们生成通用的 controller,service,dao,mapper 二.加入依赖 <!-- MP 核心库 --> <dependency> <groupId>com.baomidou</groupId> <artif...

农民娃儿的博客 2263

python判断季节,Python:日期到季节

I want to convert a date time series to season, for example for months 3, 4, 5 I want to replace them with 2 (spring); for months 6, 7, 8 I want to replace them with 3 (summer) etc.So, I have this ser...

weixin_27283495的博客 1146

接上篇,记录一下【Unity 3D对博途PLCSIM的通讯】文章有点长~仔细看,很基础

本文参考链接:西门子PLC丨PROFINET通讯仿真(虚拟通讯)做了一些更详细的优化,本文使用的类库并非原作者使用的类库。 首先,昨天项目已经创建好了,这边也加了一个InputField和一个Button,可以实现简单的读取,ok开始。 放入准备好的通讯类库; 新建一个博途的项目,本次测试使用博途V15,测试环境为虚拟机,Unity运行在本地计算机,建立博途项目流程如下: 新建项目,右键项目-属性-保护-对勾,如图: 不得不说的是,仿真中加密的FB块是无法下载的哦~ 添加CPU...

NS_Speak(IVAV) 8057

N32G003学习——第九章 第三节1 串口 发送

经过第九章前2节的学习,基础打下之后,开始敲代码。

qq_34525008的博客 1030

Python编程思想(31):枚举类型深度详解

李宁老师已经在「极客起源」 微信公众号推出《Python编程思想》电子书,囊括了Python的核心技术,以及Python的主要函数库的使用方法。读者可以在「极客起源」 公众号中输入160442开始学习。 《Python编程思想》总目录《Python编程思想》专栏 在很多场景下,一个变量的值是固定且有限的,例如,季节只有4个值(春、夏、秋、冬),性别只有2个值(男和女)。这种值有限且固定的数据类型在Python中称为枚举类型。 1. 枚举类型基础 在Python中有两种方式来定义枚举类型...

一个被知识诅咒的人 1120

京东联盟h5st(3.1)加密参数逆向实战与反爬对抗策略

本文详细解析了京东联盟h5st(3.1)加密参数的逆向分析与实战破解过程。通过接口分析定位关键加密函数,拆解h5st结构并还原其基于SHA256和HMAC-SHA256的加密逻辑,最终使用Python集成JavaScript环境成功复现加密算法,并分享了应对反爬的频率限制、IP封禁及算法升级等对抗策略。

weixin_29246195的博客 1738

时间序列笔记:python中如何用差分消趋势和季节性因素

时间序列模型:严格来说包含4个要素,Trend/趋势、Circle/循环、Seasonal /季节性和不规则要素。但是实际中C和S貌似更多的归为一个。 一组时间序列数据有可能包含T和S,这都导致数据集不平稳。因为T会造成均值跟着时间变化而变化,S会造成方差随时间变动。 在平稳化时间序列数据中,差分/differencing是种用得广&受欢迎的方法。 笔记的目的是为了理解: 平稳的时间...

htuhxf的博客 1万+

MVDR算法: 自适应波束形成在信号处理领域中扮演着重要的角色。本文将介绍MVDR(最小方差无失真响应)算法,并提供相应的Matlab源代码实现。

MVDR算法是一种用于抑制干扰信号并增强感兴趣信号的自适应波束形成算法。它的基本思想是通过对干扰信号进行空间滤波,使其在感兴趣信号方向上的输出功率最小化。这种方法可以提高信号的质量和可辨识度,特别是在存在多个干扰源的复杂环境中。本文将介绍MVDR(最小方差无失真响应)算法,并提供相应的Matlab源代码实现。使用MVDR算法,我们可以通过对观测信号进行波束形成来抑制干扰信号并增强感兴趣信号。以上是MVDR算法的Matlab实现。的每一列代表一个阵列元素的观测信号。表示期望的波束指向,即感兴趣信号的方向。

HackWhisper的博客 1245

代谢组数据分析(一):生成代谢组数据SummarizedExperiment对象

本文介绍了基于Zeybel 2022年发布的多组学数据集的分析脚本,该数据集包含微生物组、宿主人体学指标、临床学指标、血浆代谢组和免疫因子等多维度数据,涵盖56位患者的横截面数据和22位患者的纵向时间序列数据。脚本旨在生成适用于下游分析的数据对象,主要包括phyloseq和SummarizedExperiment两类。phyloseq对象用于整合微生物群落数据,支持多数据整合、可视化、丰富分析功能和便捷的数据处理;SummarizedExperiment对象则广泛应用于基因组学和转录组学研究,便于数据整合、

专注生信领域 2989

python行业中性_【建投金工丁鲁明团队 经典回顾】:零基础python代码策略模型实战...

原标题:【建投金工丁鲁明团队 经典回顾】:零基础python代码策略模型实战 编者按本文《零基础python代码策略模型实战》,属于大数据选股领域,报告发布时间为2018年3月8日。内容摘要1本文概述本文主要介绍了python基础、爬虫、与数据库交互、调用机器学习、深度学习、NLP等。分别介绍了各个模块的安装,环境的搭建等。并且以机器学习选股为例,把各个模块连贯起来,核心代码基本都有详尽的解释。2...

weixin_39934869的博客 709

RK3568 RGA硬件加速详解:图像缩放、旋转、格式转换10倍提速

RGA(Raster Graphics Acceleration)是瑞芯微(Rockchip)芯片系列中的 2D 图形加速引擎,专门用于处理像素级的图像操作。它通过硬件实现常见的图像处理算法,解放 CPU,降低功耗。RGA 是 RK3568 平台上一颗强大的 2D 图形加速引擎,能够:✅10-20 倍性能提升:大幅减少图像处理时间✅降低 CPU 占用:释放 CPU 资源给其他任务✅丰富的功能:缩放、旋转、裁剪、格式转换一应俱全✅易于集成:librga 提供简洁的 C API。

小灰灰的博客 1692

大模型量化从0到1(十五):同一模型横向实测——BF16、AWQ、GPTQ、GGUF、NF4 与 FP8 到底谁更强

本文对Qwen3-8B模型进行了六种量化方案的公平比较:BF16、AWQ INT4、GPTQ INT4、GGUF Q4_K_M、bitsandbytes NF4和FP8。通过建立受控和最佳生态两条评测赛道,避免了不同推理引擎对量化算法评估的干扰。实验结果表明,没有全能冠军,最佳方案取决于具体场景:BF16是质量基线;FP8在支持硬件上表现优异;AWQ/GPTQ适合GPU本地推理;GGUF擅长跨平台部署;NF4便于快速实验。研究强调,量化评估必须结合硬件、引擎、负载和质量要求,并提供了完整的复现方法和24个常

weixin_49520696的博客 387

如何用libwebsocket库在stm32F407上实现websocket客户端?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 1134

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

强推!Github标星破万的《Excel+Python飞速搞定数据分析与处理》,数据分析的封神之作!!

在当今这个数据驱动的时代,信息如同潮水般涌来,如何从中提取有价值的知识,转化为指导决策的智慧,成为了各行各业共同面临的挑战。数据分析,作为这一过程中的关键环节,不仅要求分析师具备深厚的统计学与数学功底,还需要熟练掌握一系列高效的数据处理与可视化工具。正是基于这样的背景,我们精心编写了《Excel+Python:飞速搞定数据分析与处理》一书,旨在通过这两种工具的强强联合,为数据分析爱好者及从业者提供一套全面而实用的解决方案。

Candyz7的博客 2432

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

redis_day02笔记

redis_day02笔记

Uranus_user的博客 434

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

用Python分析温网数据:手把手教你用马尔可夫链建模网球比赛‘势头’

本文详细介绍了如何使用Python和马尔可夫链模型分析温网比赛数据,量化网球比赛中的'势头'现象。通过数据清洗、特征工程和模型构建,揭示了比赛中的隐藏模式,并提供了实用的转折点预测算法和战术建议。

weixin_42550597的博客 318

Python深度学习:从入门到实战

亲爱的读者,欢迎您翻开这本书。我们即将探索的,是深度学习的宇宙——一个由数据、算法与算力构筑的奇妙世界。它既是严谨的科学,也是创造的艺术,更是一条通往未来智慧的修行之路。本书将带您从最基础的数学原理出发,亲手搭建神经网络,驾驭Transformer等前沿模型,最终将智慧转化为现实世界的价值。请放下畏惧,保持好奇。这不仅是一次知识的学习,更是一场思维的远行。来,随我一起,开启这趟非凡的旅程吧。

Yuner2000的博客 209

Python爬虫实战:从东方财富网高效获取金融数据的技术解析

网络爬虫作为数据采集的核心技术,其原理是通过模拟浏览器行为向目标服务器发送HTTP请求并解析返回的HTML文档,从而自动化提取所需信息。这项技术的价值在于能够将散落在互联网上的非结构化数据转化为结构化、可分析的数据资产,广泛应用于市场研究、舆情监控和量化分析等领域。在金融数据分析场景中,获取实时、准确的行情与财务数据是构建投资模型的基础。本文以东方财富网为例,深入探讨如何运用Requests库处理网络请求、BeautifulSoup库解析HTML结构,并结合Pandas进行数据清洗与存储,系统解决金融数据抓

weixin_30654419的博客 464
上一篇: python强势来袭-6-写在编程之前
下一篇: python强势来袭-5-程序原来是这样解释的
python-花猫
博客等级 码龄7年 105粉丝 179原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值