python全栈开发《10.数据类型之初识列表类型》

1.什么是列表

其实在生活中,有很多种排队的现象。比如看电影要排队买票,上地铁的时候要排队安检。在生活中,排队的是人,为了统一做一件事,而排成队伍,逐个的去等待执行这个任务,每个人都是执行这个任务的参与者。

如同排队安检,队伍中的每个人都要参与安检的工作,不过有一个顺序的问题。列表也是如此。列表里的很多数据,这些数据被集合在一起,然后一个个的等待参与某个任务的执行。

列表就是为了将这些数据集合起来而存在的。所以说:

  • 列表就是队列。

因为列表里会存在多种数据,所以:

  • 它是各种数据类型的集合,因为列表存储的灵活性,也称为是一种数据结构。

  • 列表是一种有序,且内容可重复的集合类型。

在平时生活中排队的时候,也不关心有没有重名的人或者说有没有双胞胎的情况。

2.列表的定义

  • 在python中,list代表着列表这种类型,也可以用它定义一个列表。

通过type函数,传入一个列表的时候,返回的是list这个单词,list也是可以定义列表的内置函数。

  • 在python中,列表中的元素存在于一个[]中。

和字符串、数字一样,即便不用list函数,也可以通过特殊的符号来定义列表。在python中,列表元素可以用一对[]来定义。

fd68689d38bf525e44b3f81be1d59eff.png

每一个列表里面的数据都是这个列表里面的成员(元素),这和字符串的叫法是一致的。

这里有一个好的规范:在列表中,第二个成员开始,每一个成员对于前一个成员、逗号,之间要有一个空格。当然,即便没有空格,程序也不会报错。强调的是代码美观整洁也是能力与性格的体现。

  • 在python中,列表是一个无限制长度的数据结构。

但是,尽量避免去处理一个非常大的列表。比如定义了一个列表,里面有一千万条数据,当我们创建了一个变量的时候,内存管家给列表创建了一个家。但是这个家里要住下一千万的成员,很担心内存的这个小房子会不会撑爆了。

而且有一千万条数据一个一个的等待处理,感觉又是一个非常漫长的事情。所以大家应该避免创建超大列表的情况。如果数据真的很多,在最初的学习中可以考虑把这些数据分配到多个列表中去执行。

3.列表中的类型

cce5427380685ccc6ccf91c03f231f44.png
  • mix_array =['dewei',1,3.14,None,True]

只有一个空格的字符串,也属于非空字符串。0也是整型。列表中可以继续再嵌套列表,这种结构非常复杂的列表,一般只有在非常专业的领域才会用到。

混合类型列表:列表里可以放置各种数据类型,再放一个列表和它们这些数据结构在一起也是没问题的。

4.in,max,min在列表中的使用

ff11609e32d59185c313d53efbe8934e.png

因为数据类型不统一,max和min不知道判断的标准是什么,所以就报错了。

5.代码

#coding:utf-8none_list=[None,None,None]print(none_list)
print(bool(none_list))
print(len(none_list))
print([])
print(bool([]))max_list=[1,3.14]
print(max_list)
print(max(max_list))
print(min(max_list))id_address=id(max_list)
print(id_address)

运行结果:

/Users/llq/PycharmProjects/pythonlearn/pythonlearn/.venv/bin/python /Users/llq/PycharmProjects/pythonlearn/pythonlearn1/list_test.py 
[None, None, None]
True
3
[]
False
[1, 3.14]
3.14
1
4347793024进程已结束,退出代码为 0

虽然none_list里面有好几个None,但是每一个None都占据了这个列表的一个位置,所以这个列表的位置不再是空的。那么这个列表就是一个true的代表了。

只要列表的内容不为空或者列表的长度不为0,它就是一个true的状态。如果列表的长度是0,那么它就是一个false的状态。

一个列表里有很多内容,这些内容会不会分别住在不同的空间呢?

实际上不是的。一个列表里面有很多的内容,这些内容会随着这个列表生存在唯一的一个内存空间里。

每一次重新启动脚本,它的地址会发生变化。当我们使用完毕一个元素的时候,内存的管理员就会认为没有人使用它,就会把它轰出去了。

每执行完一次脚本,脚本执行完成了,所以内存管家发现这些变量已经不用了,所以就把它们赶了出去。

只要在程序不关闭的情况下,列表可以不停的添加内容,并且地址是不会发生变更的。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

平衡查找树(数据结构篇)

数据结构之平衡查找树 平衡查找树(AVL树) 概念: 为了防止因为插入删除而导致的树结构不平衡(通常我们删除节点总是对右子树的最小值节点替代操作,而不是交替的利用左子树的最大值节点替代,这就将导致左子树的平均深度大于右子树平均深度&a…

基于Java的高校校园点餐系统

开头语: 你好,我是计算机专业的学长,如果你对高校校园点餐系统感兴趣或有相关开发需求,欢迎联系我。 开发语言:Java 数据库:MySQL 技术:JSP技术 工具:Eclipse、Tomcat 系统展示…

分布式用例执行

前言 这两天趁着有时间,我疯狂的码字了~~ 背景 我们公司是做人工智能平台的,什么是人工智能呢? 大数据 机器学习。大数据运行的基本就不快。机器学习算法运行起来也是慢的让人泪流满面。在我们的集群配置下,我使用一个 5M 的数…

基于IDEA的Maven(properties属性配置)

&#xff08;property &#xff1a;财产&#xff09;properties&#xff1a;它的复数。 同样也是基于上篇博客进行学习。&#xff08;具体的全部项目代码和结构可以去查看上篇...&#xff09; <properties><!--当前jdk版本 , 这一步可以完全省略--><maven.com…

2024青海三支一扶招1910人7月6日笔试

&#x1f4e2;2024年青海省三支一扶计划招募1910人公告已发布&#xff01; 小&#x1f004;️帮大家整理好了考试关键时间点&#xff1a; ★ 报名时间&#xff1a;6月20日至6月25日 ★ 报名网站&#xff1a;青海省人事考试信息网&#xff08;www.qhpta.com&#xff09; ★ 网上…

android studio构建项目报错Could not create an instance of type com.android.build.api.variant.impl.Applicat

Could not create an instance of type com.android.build.api.variant.impl.ApplicationVariantImpl 这个错误通常是由于Gradle插件版本不兼容导致的。你可能正在使用的Gradle插件版本与你的Android Studio版本不兼容。 要解决这个问题&#xff0c;你可以尝试以下解决方法&a…

音视频入门基础:H.264专题(3)——EBSP, RBSP和SODB

音视频入门基础&#xff1a;H.264专题系列文章&#xff1a; 音视频入门基础&#xff1a;H.264专题&#xff08;1&#xff09;——H.264官方文档下载 音视频入门基础&#xff1a;H.264专题&#xff08;2&#xff09;——使用FFmpeg命令生成H.264裸流文件 音视频入门基础&…

行为树行为树行为树

行为树由一个个节点组成 结构&#xff1a;树状结构运行流程&#xff1a;从根节点开始自顶向下往下遍历&#xff0c;每经过一个节点就执行节点对应的功能。 我们规定&#xff0c;每个节点都提供自己的excute函数&#xff0c;返还执行失败/成功结果。 然后根据不同节点的执行结…

国产数据库中读写分离实现机制

在数据库高可用架构下会存在1主多备的部署&#xff0c;备节点可以根据业务场景分发一部分流量以充分利用资源&#xff0c;并减轻主库的压力&#xff0c;因此在数据库的功能上需要读写分离来实现。 充分利用备节点的资源&#xff0c;提升业务的吞吐量&#xff1b;防止运维等非业…

《算法设计与分析》第五六章:回溯法与分支限界法

文章目录 回溯法分支限界法一、本章作业1.活动安排问题2.旅行商问题3.单源最短路径4.任务分配问题 二、算法积累1.回溯法求解01背包问题2.回溯法求解最大团问题3.回溯法求解n皇后问题4.回溯法求解地图着色5.回溯法求解哈密尔顿图6.回溯法求活动安排7.分支限界法求01背包问题8.分…

Flutter第十三弹 路由和导航

目标&#xff1a; 1.Flutter怎么创建路由&#xff1f; 2.怎么实现路由跳转&#xff1f;页面返回&#xff1f; 一、路由 1.1 什么是路由&#xff1f; 路由(Route)在移动开发中通常指页面&#xff08;Page&#xff09;&#xff0c;在Android中通常指一个Activity。所谓路由管…

小功率电机驱动方案中如何选择驱动IC

小功率电机驱动方案及驱动IC的选择 电机驱动作为工业4.0中工厂自动化整个闭环中的执行器环节&#xff0c;其性能好坏直接影响到整个闭环的性能。因此&#xff0c;工业4.0对电机驱动提出了更高的性能和功能要求&#xff0c;例如更快的响应速度、更高的带宽、更高精度的位置和速…

前端框架中的路由(Routing)和前端导航(Front-End Navigation)

聚沙成塔每天进步一点点 本文回顾 ⭐ 专栏简介前端框架中的路由&#xff08;Routing&#xff09;和前端导航&#xff08;Front-End Navigation&#xff09;1. 路由&#xff08;Routing&#xff09;1.1 定义1.2 路由的核心概念1.2.1 路由表&#xff08;Route Table&#xff09;1…

多模态大模型:基础架构

大模型技术论文不断&#xff0c;每个月总会新增上千篇。本专栏精选论文重点解读&#xff0c;主题还是围绕着行业实践和工程量产。若在某个环节出现卡点&#xff0c;可以回到大模型必备腔调或者LLM背后的基础模型重新阅读。而最新科技&#xff08;Mamba,xLSTM,KAN&#xff09;则…

gitee添加别人的仓库后,在该仓库里添加文件夹/文件

一、在指定分支里添加文件夹&#xff08;如果库主没有创建分支&#xff0c;自己还要先创建分支&#xff09; eg:以在一个项目里添加视图文件为例&#xff0c;用Echarts分支在usr/views目录下添加Echarts文件夹&#xff0c;usr/views/Echarts目录下添加index.vue 1.切换为本地仓…

Linux系统安装Ruby语言

Ruby是一种面向对象的脚本语言&#xff0c;由日本的计算机科学家松本行弘设计并开发&#xff0c;Ruby的设计哲学强调程序员的幸福感&#xff0c;致力于简化编程的复杂性&#xff0c;并提供一种既强大又易于使用的工具。其语法简洁优雅&#xff0c;易于阅读和书写&#xff0c;使…

重学java 66.IO流 转换流

且敬我疯狂&#xff0c;生命中不败的篇章 —— 24.6.11 一、字符编码 计算机中储存的信息都是用二进制数表示的&#xff0c;而我们在屏幕上看到的数字、英文、标点符号、汉字等字符是二进制数转换之后的结果。[按照某种规则&#xff0c;将字符存储到计算机中&#xff0c;称为编…

打造一个属于你的桌面天气 超级有个性的天气桌面

打造一个属于你的桌面天气 超级有个性的天气桌面。大家好&#xff0c;今天我们带来一个非常有趣的桌面天气工具&#xff0c;喜欢桌面diy的你&#xff0c;快点用上它吧&#xff01; 桌面上的美化&#xff0c;是许多爱美用户的心血和热爱。每个地方的美化&#xff0c;都是自己亲…

机器学习课程复习——隐马尔可夫

不考计算题 Q:概率图有几种结构? 条件独立性的公式? 顺序结构发散结构汇总结构Q:隐马尔可夫模型理解? 概念 集合:状态集合、观测集合 序列:状态序列、观测序列

linux环境编程基础学习

Shell编程&#xff1a; 相对的chmod -x xx.sh可以移除权限 想获取变量的值要掏点dollar&#xff08;&#xff04;&#xff09; 多位的话要加个花括号 运算&#xff1a;expr 运算时左右两边必须要加空格 *号多个含义必须加转义符 双引号可以加反单&#xff0c;但是发过来就不行 …