python数据结构 操作指南(列表、元组、字典、集合)

简介: python数据结构 操作指南(列表、元组、字典、集合)

数据结构是在python程序运行中必不可少的一部分,在深度学习应用,更是常用来存储模型输出的信息,小编在深度学习开发中过程中,发现有时候我们需要对数据结构中存储的信息,进行复合的条件的筛选,并返回特定的值


因此本文详细介绍了四种数据结构下,结合复合函数实现操作的方法


列表和元组


Count(item):返回指定元素出现在列表/元组中的次数

Index(item):返回列表/元组中指定元素的索引

List.reverse():反转列表的元素(在元组中不可用)

List.sort():按特定的升序或降序对给定列表的元素进行排序(在元组中不可用)

reversed():返回一个迭代器,该迭代器在List/Tuple中以相反的顺序访问给定序列

sorted():在List/Tuple中返回指定可迭代对象的排序列表


字典和集合


字典get(key,default)

函数使用key进行索引找到对应的value。如果value不存在,返回默认值,例如,返回’null’。


d = {'name': 'jason', 'age': 20}
d.get('name')
Out: 'jason'
d.get('location', 'null')
Out: 'null'

集合不支持索引

对于字典,我们通常根据键或值按升序或降序排序:


d = {'b': 1, 'a': 2, 'c': 10}
d_sorted_by_key = sorted(d.items(), key=lambda x: x[0])
d_sorted_by_value = sorted(d.items(), key=lambda x: x[1])
d_sorted_by_key
Out: [('a', 2), ('b', 1), ('c', 10)]
d_sorted_by_value
Out: [('b', 1), ('a', 2), ('c', 10)]


字典是一个复合的结构,因为字典的value,可以是字符串也可以是int float(数值) 或者其他四种结构。


如果是字符串或数值


求字典key值(最大/最小)对应的key、value,当然知道key,value=d[key]


key

max(d.keys())
• 1

value

d[max(d.keys())]

求字典value值(最大/最小)对应的key,value

key

max(d,key=lambda x:d[x])
• 1

value

max(d.values())


value如果是dict、tuple不支持运算符比较

90d4ad2c75aa439483c8719043e7604e.png

如果value是列表


集合同理


d={'1':[1,2,3],'2':[4]}


求字典value值最大值、最小值对应的key,value

key

max(d,key=lambda x:max(d[x]))
• 1

求字典中value值len最大、最小对应的key,value


value

max(d,key=lambda x:len(d[x]))





相关文章
|
1月前
|
SQL 关系型数据库 数据库
Python SQLAlchemy模块:从入门到实战的数据库操作指南
免费提供Python+PyCharm编程环境,结合SQLAlchemy ORM框架详解数据库开发。涵盖连接配置、模型定义、CRUD操作、事务控制及Alembic迁移工具,以电商订单系统为例,深入讲解高并发场景下的性能优化与最佳实践,助你高效构建数据驱动应用。
289 7
|
2月前
|
存储 JSON 算法
Python集合:高效处理无序唯一数据的利器
Python集合是一种高效的数据结构,具备自动去重、快速成员检测和无序性等特点,适用于数据去重、集合运算和性能优化等场景。本文通过实例详解其用法与技巧。
131 0
|
3月前
|
存储 索引 Python
python 集合的所有基础知识
python 集合的所有基础知识
196 0
|
1月前
|
存储 Java 索引
(Python基础)新时代语言!一起学习Python吧!(二):字符编码由来;Python字符串、字符串格式化;list集合和tuple元组区别
字符编码 我们要清楚,计算机最开始的表达都是由二进制而来 我们要想通过二进制来表示我们熟知的字符看看以下的变化 例如: 1 的二进制编码为 0000 0001 我们通过A这个字符,让其在计算机内部存储(现如今,A 字符在地址通常表示为65) 现在拿A举例: 在计算机内部 A字符,它本身表示为 65这个数,在计算机底层会转为二进制码 也意味着A字符在底层表示为 1000001 通过这样的字符表示进行转换,逐步发展为拥有127个字符的编码存储到计算机中,这个编码表也被称为ASCII编码。 但随时代变迁,ASCII编码逐渐暴露短板,全球有上百种语言,光是ASCII编码并不能够满足需求
145 4
|
2月前
|
机器学习/深度学习 数据采集 并行计算
多步预测系列 | LSTM、CNN、Transformer、TCN、串行、并行模型集合研究(Python代码实现)
多步预测系列 | LSTM、CNN、Transformer、TCN、串行、并行模型集合研究(Python代码实现)
336 2
|
3月前
|
数据采集 索引 Python
Python Slice函数使用教程 - 详解与示例 | Python切片操作指南
Python中的`slice()`函数用于创建切片对象,以便对序列(如列表、字符串、元组)进行高效切片操作。它支持指定起始索引、结束索引和步长,提升代码可读性和灵活性。
|
5月前
|
存储 安全 Java
Java 集合面试题从数据结构到 HashMap 源码剖析详解及长尾考点梳理
本文深入解析Java集合框架,涵盖基础概念、常见集合类型及HashMap的底层数据结构与源码实现。从Collection、Map到Iterator接口,逐一剖析其特性与应用场景。重点解读HashMap在JDK1.7与1.8中的数据结构演变,包括数组+链表+红黑树优化,以及put方法和扩容机制的实现细节。结合订单管理与用户权限管理等实际案例,展示集合框架的应用价值,助你全面掌握相关知识,轻松应对面试与开发需求。
300 3
|
7月前
|
存储 缓存 安全
Python frozenset 集合详解:不可变集合的终极指南
frozenset是Python中一个常被忽视但极具价值的不可变集合类型。本文深入解析其本质、操作方法与应用场景,揭示其通过不可变性带来的安全性与性能优势。从底层实现到实战案例,涵盖字典键使用、缓存优化及类型注解等高级场景。同时对比性能数据,提供最佳实践指南,并展望Python 3.11+中的优化。掌握frozenset,可为代码带来更强健性与效率,适合多种特定需求场景。
298 5
|
8月前
|
存储 人工智能 索引
Python数据结构:列表、元组、字典、集合
Python 中的列表、元组、字典和集合是常用数据结构。列表(List)是有序可变集合,支持增删改查操作;元组(Tuple)与列表类似但不可变,适合存储固定数据;字典(Dictionary)以键值对形式存储,无序可变,便于快速查找和修改;集合(Set)为无序不重复集合,支持高效集合运算如并集、交集等。根据需求选择合适的数据结构,可提升代码效率与可读性。
|
存储 算法
非递归实现后序遍历时,如何避免栈溢出?
后序遍历的递归实现和非递归实现各有优缺点,在实际应用中需要根据具体的问题需求、二叉树的特点以及性能和空间的限制等因素来选择合适的实现方式。
291 59

热门文章

最新文章

推荐镜像

更多