热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python容器的简介

容器的定义容器是编程语言提供给开发者使用的对象python官方提供四种常见的容器:list列表set集合tuple元组dict字典list为有序的数列在程序中&#x

容器的定义
容器是编程语言提供给开发者使用的对象

python官方提供四种常见的容器:
list 列表
set 集合
tuple 元组
dict 字典
list
为有序的数列
在程序中,线性表:数组、链表、栈、队列
python的list的底层就是基于双向链表结构设计的

定义list:
1、借助弱数据类型语言的特点
[] # 列表是以[]的形式表现
ls = [] # 空列表
ls = [1, 2,3,4,5] # 创建了一个有如下元素的列表
2、借助python提供的一个全局函数创建list
ls = list()
ls = list([1,23,3,4,4554])
访问list中的元素(element)
线性表,都是具有下标(索引)的:下标从0开始,不要越界
列表对象[下标]
注意:
print(ls[4]) # 访问ls中的第五个元素
ls[1] = 100 # 将ls列表中的第二个元素值修改为100

用来统计list中的元素:
全局函数:len()

如何遍历列表
1、使用循环遍历

for index in ls2:print(index)

2、使用while循环遍历列表

index &#61; 0while index < len(ls2):print(ls2[index])index &#43;&#61; 1

list的常见方法&#xff1a;
append(元素) # 在列表尾部追加元素
insert(index, 元素) # 在对应索引为插入元素
remove(元素) # 移除元素&#xff0c;如果不存在&#xff0c;则报错
pop(index&#61;-1) # 默认移除最后一个元素&#xff0c;如果存在参数&#xff0c;则该参数就是要移除的下标&#xff0c;注意&#xff1a;下标有误&#xff0c;会抛出异常
clear() # 清空列表
reverse() # 翻转列表元素顺序
sort() # 排序
index(元素) # 查找元素的位置
count(元素) # 统计元素的数量
extend # 合并列表
copy() # 复制列表对象&#xff0c;其本质是浅拷贝

set
是无序的&#xff0c;并且不能重复
底层使用的hash表&#xff08;哈希表&#xff09;的结构设计的
定义&#xff1a;
1、借助弱数据类型语言的特点
注意&#xff1a;必须要存在值&#xff0c;否则默认空{}是字典类型&#xff0c;而不是set
s &#61; {1,2,4}
2、全局set函数
s &#61; set()

注意&#xff1a;遍历只能使用for循环遍历&#xff0c;while没有办法遍历&#xff08;无序&#xff09;

常见方法&#xff1a;

add() # 添加元素clear() # 清除列表copy() # 浅拷贝对象difference() # 差集intersection() # 交集union() # 并集remove(元素) # 移除元素&#xff0c;如果不存在&#xff0c;则报错pop(元素) # 随机&#xff08;arbitrary&#xff09;移除&#xff0c;不存在&#xff0c;则报错discard(元素) # 随机&#xff08;arbitrary&#xff09;移除&#xff0c;不存在&#xff0c;则什么都不做

tuple
它的元素不可以改变

常见方法&#xff1a;
count # 统计元素个数
index # 查看元素索引位置

注意&#xff1a;t &#61; (1) 类型为intt &#61; (1,) 类型为tuple

dict
它的定义&#xff1a;
d &#61; {}
d &#61; {k1: v1, k2: v2}
d &#61; dict({})

1.可以使用key访问到key对应的值
d[“k1”]
d.get(“k2”)

2.p[“name”] &#61; “yyqx” # 增加value值

常见方法&#xff1a;
clear #清空元素
copy #复制
get #获得value值
keys() # 将所有的key返回
values() # 将所有的值返回
setdefault #设置默认值
items() # 一对一对的返回
pop(key) # 通过key删除对应键值对
popitem() # 安装 LIFO (last-in, first-out) order 删除key对应值

字典的遍历方式&#xff1a;
1、

for key in p:print(key, p[key])

2、

for key in p.keys():print(key , p.get(key))

3、

for key, value in p.items():print(key, value)

4、

for (key, value) in p.items():print(key, value)

5、

for t in p.items():print(t[0], t[1])

全局函数&#xff1a;
print()
input()
type()
range()
list()
len()
exit()
help() # 调用帮助问题
dir() # 查询对象的所有属性或者方法
reverse() # 翻转列表


推荐阅读
  • 本课程深入探讨了 Python 中自定义序列类的实现方法,涵盖从基础概念到高级技巧的全面解析。通过实例演示,学员将掌握如何创建支持切片操作的自定义序列对象,并了解 `bisect` 模块在序列处理中的应用。适合希望提升 Python 编程技能的中高级开发者。 ... [详细]
  • 本指南从零开始介绍Scala编程语言的基础知识,重点讲解了Scala解释器REPL(读取-求值-打印-循环)的使用方法。REPL是Scala开发中的重要工具,能够帮助初学者快速理解和实践Scala的基本语法和特性。通过详细的示例和练习,读者将能够熟练掌握Scala的基础概念和编程技巧。 ... [详细]
  • Python进阶笔记:深入理解装饰器、生成器与迭代器的应用
    本文深入探讨了Python中的装饰器、生成器和迭代器的应用。装饰器本质上是一个函数,用于在不修改原函数代码和调用方式的前提下为其添加额外功能。实现装饰器需要掌握闭包、高阶函数等基础知识。生成器通过 `yield` 语句提供了一种高效生成和处理大量数据的方法,而迭代器则是一种可以逐个访问集合中元素的对象。文章详细解析了这些概念的原理和实际应用案例,帮助读者更好地理解和使用这些高级特性。 ... [详细]
  • 具备括号和分数功能的高级四则运算计算器
    本研究基于C语言开发了一款支持括号和分数运算的高级四则运算计算器。该计算器通过模拟手算过程,对每个运算符进行优先级标记,并按优先级从高到低依次执行计算。其中,加减运算的优先级最低,为0。此外,该计算器还支持复杂的分数运算,能够处理包含括号的表达式,提高了计算的准确性和灵活性。 ... [详细]
  • 本文总结了JavaScript的核心知识点和实用技巧,涵盖了变量声明、DOM操作、事件处理等重要方面。例如,通过`event.srcElement`获取触发事件的元素,并使用`alert`显示其HTML结构;利用`innerText`和`innerHTML`属性分别设置和获取文本内容及HTML内容。此外,还介绍了如何在表单中动态生成和操作``元素,以便更好地处理用户输入。这些技巧对于提升前端开发效率和代码质量具有重要意义。 ... [详细]
  • 【图像分类实战】利用DenseNet在PyTorch中实现秃头识别
    本文详细介绍了如何使用DenseNet模型在PyTorch框架下实现秃头识别。首先,文章概述了项目所需的库和全局参数设置。接着,对图像进行预处理并读取数据集。随后,构建并配置DenseNet模型,设置训练和验证流程。最后,通过测试阶段验证模型性能,并提供了完整的代码实现。本文不仅涵盖了技术细节,还提供了实用的操作指南,适合初学者和有经验的研究人员参考。 ... [详细]
  • 在腾讯云服务器上部署Nginx的详细指南中,首先需要确保安装必要的依赖包。如果这些依赖包已安装,可直接跳过此步骤。具体命令包括 `yum -y install gcc gcc-c++ wget net-tools pcre-devel zlib-devel`。接下来,本文将详细介绍如何下载、编译和配置Nginx,以确保其在腾讯云服务器上顺利运行。此外,还将提供一些优化建议,帮助用户提升Nginx的性能和安全性。 ... [详细]
  • 深入解析 Python 中的 NumPy 加法函数 numpy.add() ... [详细]
  • 探索偶数次幂二项式系数的求和方法及其数学意义 ... [详细]
  • 作为软件工程专业的学生,我深知课堂上教师讲解速度之快,很多时候需要课后自行消化和巩固。因此,撰写这篇Java Web开发入门教程,旨在帮助初学者更好地理解和掌握基础知识。通过详细记录学习过程,希望能为更多像我一样在基础方面还有待提升的学员提供有益的参考。 ... [详细]
  • 本文详细介绍了使用 Python 进行 MySQL 和 Redis 数据库操作的实战技巧。首先,针对 MySQL 数据库,通过 `pymysql` 模块展示了如何连接和操作数据库,包括建立连接、执行查询和更新等常见操作。接着,文章深入探讨了 Redis 的基本命令和高级功能,如键值存储、列表操作和事务处理。此外,还提供了多个实际案例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • TensorFlow Lite在移动设备上的部署实践与优化笔记
    近期在探索如何将服务器端的模型迁移到移动设备上,并记录了一些关键问题和解决方案。本文假设读者具备以下基础知识:了解TensorFlow的计算图(Graph)、图定义(GraphDef)和元图定义(MetaGraphDef)。此外,文中还详细介绍了模型转换、性能优化和资源管理等方面的实践经验,为开发者提供有价值的参考。 ... [详细]
  • 在Python网络编程中,多线程技术的应用与优化是提升系统性能的关键。线程作为操作系统调度的基本单位,其主要功能是在进程内共享内存空间和资源,实现并行处理任务。当一个进程启动时,操作系统会为其分配内存空间,加载必要的资源和数据,并调度CPU进行执行。每个进程都拥有独立的地址空间,而线程则在此基础上进一步细化了任务的并行处理能力。通过合理设计和优化多线程程序,可以显著提高网络应用的响应速度和处理效率。 ... [详细]
  • 本文详细探讨了Zebra路由软件中的线程机制及其实际应用。通过对Zebra线程模型的深入分析,揭示了其在高效处理网络路由任务中的关键作用。文章还介绍了线程同步与通信机制,以及如何通过优化线程管理提升系统性能。此外,结合具体应用场景,展示了Zebra线程机制在复杂网络环境下的优势和灵活性。 ... [详细]
  • 本文详细介绍了 jQuery 的入门知识与实战应用,首先讲解了如何引入 jQuery 库及入口函数的使用方法,为初学者提供了清晰的操作指南。此外,还深入探讨了 jQuery 在实际项目中的多种应用场景,包括 DOM 操作、事件处理和 AJAX 请求等,帮助读者全面掌握 jQuery 的核心功能与技巧。 ... [详细]
author-avatar
铁血aaaaaaaaaaaaa_295
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有