list类型、range()序列、简单认识 类(class)

Python 3.12 range() 函数性能剖析:对比列表推导与生成器,内存占用差10倍 本文深入剖析Python 3.12中range()函数的性能特性,对比列表推导式与生成器表达式在内存占用和效率上的差异。实验显示range对象内存占用恒定48字节,而列表推导式在千万级数据下内存消耗高达845MB,差异达10倍。文章还提供了实际应用中的选择建议和性能优化技巧,帮助开发者编写更高效的Python代码。 阅读详情

list类型

定义:

items = []

这就定义了一个名叫items的list。

往里填充数据:

items.append(1)
items.append(3)
items.append(4)

print(items) #  [1, 3, 4]

range序列

上面那个list,如果我们要append进去0~9的数字。最好是利用循环。

items = []
for x in range(0,10):
    items.append(x)

print(items) #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

这里我们就学到了range这个类型,range(0,10)包含0不包含10,可以简写为range(10)。

上面还可以这样写:

items = [x for x in range(10)]

print(items) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

range()还有第三个参数:步长

#从0到10,步长为2
items = [x for x in range(0,10,2)]

print(items) # [0, 2, 4, 6, 8]

每个元素都x3:

items = [x*3 for x in range(0,10,2)]

print(items) # [0, 6, 12, 18, 24]

每个元素都二次方 :

items = [x**2 for x in range(0,10,2)]

print(items) # [0, 4, 16, 36, 64]

什么叫 iterable可迭代

简单说就是可以进行for循环的。
字符串、list类型、字典类型、元组类型,包括自定义的类都是可以迭代。

Python里的类

#自定义类

class Person:
    #类似构造函数
    def __init__(self,name):
        self.name = name

    def show(self):
        print(self.name)


#实例化类
p = Person("jack")
p.show() # jack

注意:self可以换成任意如abc。

如何写静态方法?

#自定义类
class Person:

    @staticmethod
    def version():
        print("version 1.0")

@staticmethod是注解。(是不是和Java很像?)

#实例化类
Person.version() #version 1.0
Redis缓存Java List对象:序列化方案、数据结构选择与性能优化实战 序列化是将对象转换为可存储或传输格式的核心技术,其原理在于将内存中的数据结构编码为字节流或字符串。在分布式缓存场景中,高效的序列化方案能显著提升系统性能并降低资源消耗。JSON序列化因其良好的可读性、跨语言兼容性及适中的性能,成为Java对象缓存的主流选择,尤其适用于微服务架构下的数据交换。针对List<实体>这类集合对象的缓存,开发者需根据数据规模与访问模式,在Redis的String、List、Hash等数据结构间做出权衡。例如,String类型适合整体读写的小列表,而Hash结构则便于实现基于ID的单 阅读详情

相关推荐

游戏脚本开发避坑:Python调用OP模块实现阴阳师后台操作的5个关键点

本文深入探讨了使用Python调用OP模块开发《阴阳师》后台自动化脚本的5个核心避坑点。重点解析了窗口绑定、后台截图与图像识别、鼠标键盘模拟、脚本稳定性以及性能优化等关键环节的常见问题与实战解决方案,帮助开发者高效实现稳定的游戏后台挂机功能。

u0v1w2x3的博客 588

java list range,如何从Range创建List

我是Scala的新手,刚刚开始学习,所以这是一个基本的初学者问题 .我尝试实现Sieve of Eratosthenes算法 . 这是我到目前为止所得到的:def sieve_core(cross: Int, lst: Seq[Int]): List[Int] = {val crossed = lst.filter(_ % cross != 0)crossed match {case a :: r...

weixin_30615531的博客 1022

ROS Navigation global_planner框架解析

ROS Navigation global_planner框架解析主要讲一下我看源码总结的框架,如果大家跟着这个框架看源码的话可能会看的比较快。主要讲解global_planner关键配置参数含义及关键函数Astar,Dijkstra,QuadraticCalculator::calculatePotential,PotentialCalculator::calculatePotential,GridPath::getPath,GradientPath::getPath.

Jeff_Lee_的博客 4693

Java中List集合遍历的六种方式

public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("A"); list.add("B"); list.add("C"); /** * 第一种:下...

tangyin_007的博客 744

【安徽理工大学】一文带你高分拿下计算机考研复试(85+的秘密)

一文带你高分拿下安徽理工大学计算机考研复试(85+的秘密)

猫天意的博客 1522

中移物联ML307C模组OPENCPU笔记2

本文介绍了如何编译和运行一个DEMO程序,以官方SDK为例。

weixin_43700831的博客 1880

list(range(5,20,2)),这个函数怎么理解

这个函数返回一个整数列表,从5开始,到20结束,每次增加2。也就是说,列表中的数字分别是:5, 7, 9, 11, 13, 15, 17, 19。 简单来说,"range(start, stop, step)" 函数用于生成一个从 "start" 开始,到 "stop-1" 结束,步长为 "step" 的整数序列。 ...

weixin_42593130的博客 821

施耐德EcoStruxure平台深度体验:IEC 61499在智慧物流中心的真实应用案例解析

本文深度解析施耐德EcoStruxure平台在智慧物流中心的应用,重点探讨IEC 61499标准如何通过分布式控制和功能块技术重构自动化逻辑。通过上海某物流中心的真实案例,展示了该平台在提升系统弹性、降低停机成本方面的显著成效,为工业自动化转型提供实践参考。

weixin_30576827的博客 66

java range_使用java8提供的stream api创建range

java的集合框架里没有range这个东西,大家都习惯于用三段式的for,鄙人用过其他的语言,觉得range确实是个不错的东西。 当然这个实现起来一点也不难,创建个list或array就行了,不过本文讲得是使用java8的stream。 为什么用stream呢,一是赶潮流,java8已经提供了部分函数式语言特征,stream就是这个部分中的重要一点,二是有一种懒加载的stream,使用list会使...

weixin_39868592的博客 1109

60、新型共轴直升机建模与事件触发积分强化学习研究

本文研究了新型共轴直升机的动力学建模与控制方法,基于牛顿-欧拉方程建立了6自由度非线性模型,并设计了四通道闭环控制器实现稳定飞行。同时,提出一种事件触发积分强化学习方法,用于解决非零和博弈中的最优跟踪控制问题,在减少通信开销的同时保证系统性能。通过仿真验证了控制器的轨迹跟踪能力,并证明了算法下跟踪误差与神经网络权重估计误差的一致最终有界性。两种方法协同可提升飞行器的自主性与鲁棒性,未来可拓展至多智能体协作、智能交通等复杂系统应用。

rl6adventurer的博客 118

2万字长文:海豚调度器(DolphinScheduler)面试题深入了解

DAG图(有向无环图)是海豚调度器中表示工作流任务依赖关系的一种方式。在DolphinScheduler中,每个任务是一个节点,任务之间的依赖关系通过有向边连接这些节点来表示。无环:保证了工作流的执行顺序是确定的,避免了无限循环的问题。有向:箭头指示了任务的执行方向,即上一个任务的输出可以作为下一个任务的输入。依赖表示:通过图形化界面,用户可以通过拖拽连接线来定义任务之间的先后顺序和依赖关系。并行处理:DAG图可以表示出任务的并行关系,允许多个任务在没有直接依赖关系的情况下同时执行。条件分支。

大模型大数据攻城狮的专栏 1329

详谈redis命令之列表(List)

一、前言 在第一篇blog《详谈redis数据结构》中就已讲解过redis的列表结构,常用的一些操作命令也讲解过,也详细解说过列 表的有序和有序集合的有序是不一样的有序,如果还不太清楚的同学可以回头去读。本文将着重详细讲解redis中关于列表的操作命令,使用Java语言来写示例,如果读者对Java语言不熟悉,可以关注文章末尾的微信公众号查看Java系列文章。 二、列表的操作命令 2.1 LRANGE LRANGE全称:list range 返回[start,end]区间之内的所有元素 (具体示例见下文) 2

小新Kelvin 2078

ardupilot开发 --- MavLink 篇

ardupilot开发 --- MavLink 篇

记录老板的每次pua,分享领导每天的毒鸡汤... 4248

python中list是唯一的序列类型_Python从list类型、range()序列简单认识类(class)【可迭代】...

本文实例讲述了Python从list类型、range()序列简单认识类(class)。分享给大家供大家参考,具体如下:list类型定义:items = []这就定义了一个名叫items的list。往里填充数据:items.append(1)items.append(3)items.append(4)print(items) # [1, 3, 4]range序列上面那个list,如果我们要appen...

weixin_39899776的博客 450

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

python可迭代类型_Python从list类型、range()序列简单认识类(class)【可迭代】

本文实例讲述了python从list类型、range()序列简单认识类(class)。分享给大家供大家参考,具体如下:list类型定义:items = []这就定义了一个名叫items的list。往里填充数据:items.append(1)items.append(3)items.append(4)print(items) # [1, 3, 4]range序列上面那个list,如果我们要appen...

weixin_39920629的博客 96

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

python列表属于什么类型的游戏_Python从list类型、range()序列简单认识类(class)【可迭代】...

本文实例讲述了Python从list类型、range()序列简单认识类(class)。分享给大家供大家参考,具体如下:list类型定义:items = []这就定义了一个名叫items的list。往里填充数据:items.append(1)items.append(3)items.append(4)print(items) # [1, 3, 4]range序列上面那个list,如果我们要appen...

weixin_39557373的博客 204

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Python数据类型:序列(str、list、tuple、dict、range) 、集合set

序列sequence是多个值组成的一个整体,Python中的序列包含列表list、元组tuple、字符串str等。

人不风流枉少年 1657

python中的range类

class range(stop)或者class range(start, stop[, step]) 概述:如果传入的参数只有一个,那么会调用class range(stop),如果传入的参数超过一个,那么会调用class range(start, stop[, step])。 range生成器的参数必须是integers(内置的int类型或者是那些实现了__index__方法的对象),如果step参数被省略,那么它的默认值就是1,如果start参数被省略,它的默认值会是0,如果step是0的话,会抛出

ISs_Cream的博客 1484

Python 序列(list,tuple,range)

Python 序列(list,tuple,range) list class list([iterable]) 构造方法 使用一对方括号表示空列表:[] 使用方括号,用逗号分隔项目[a], [a, b, c] 使用列表推导式: [x for x in iterable] 使用类型构造函数:list()或list(iterable) 对象方法 见Python容器 tuple ...

weixin_43812090的博客 366

Python 3.12 range() 内存优化实战:生成1亿序列仅占48字节的迭代器原理

本文深入解析Python 3.12中range()函数的内存优化原理,展示如何生成1亿数字序列仅占用48字节内存。通过对比Python 2与Python 3的实现差异,揭示range()惰性求值机制及其底层C代码结构,并提供自定义range-like迭代器实现与性能优化技巧,帮助开发者高效处理大数据集。

weixin_34054866的博客 399

Python 3.12 range() 实战:5个高级迭代模式与常见陷阱规避

本文深入探讨Python 3.12中range()函数的高级应用,介绍5种专业开发者常用的高阶迭代模式,包括动态序列生成、反向步进、浮点数模拟等,并揭示三大典型陷阱及其解决方案。通过实战代码示例,帮助开发者提升迭代效率,规避常见错误,充分发挥range()在内存优化和性能提升方面的优势。

weixin_34354173的博客 358

python中的range与xrange

range 也是一种类型(type),它是一个数字的序列(s sequence of numbers),而且是不可变的,通常用在for循环中。 class range(stop) class range(start, stop [, step]) 对于第一种构造方式,start默认值为0,step默认值为1。 当step为正时,一个range的元素值为r[i] = start...

aaronthon的博客 239

Python内置函数len、list与locals的深度解析与优化实践

Python内置函数是语言核心功能的重要组成部分,其设计遵循鸭子类型和EAFP原则。以len()函数为例,它通过调用对象的__len__魔术方法实现,这种机制使得不同类型的数据结构都能以统一接口获取长度信息,体现了Python的多态特性。在性能优化方面,理解内置函数的底层原理至关重要,例如对于大数据处理场景,避免不必要的list转换可以显著减少内存消耗。locals()函数则展示了Python动态编程的能力,它返回当前作用域的变量字典,在元编程和模板渲染等场景中有特殊价值。掌握这些内置函数的正确使用方式,能

weixin_33971977的博客 308

快速跑通 Mongoose:嵌入式网络库完整上手指南

Mongoose 是一个 C 语言的嵌入式网络库,把 TCP/IP 协议栈、TLS 1.3、HTTP、WebSocket、MQTT 和固件 OTA 打包进 `mongoose.c` 与 `mongoose.h` 两个文件,零外部依赖。读完这篇,你会知道它能扛哪些活,并用 3 条命令在本地验证环境是否可用。 ## 一个库接住设备联网的 3 个场景 新设备接入网络,第一件难事通常是 Web 管理界

gitblog_01012的博客 224
上一篇: 从函数参数 引出 元组
下一篇: 可变和不可变、类的私有属性
学习笔记666
博客等级 码龄12年 1047粉丝 1369原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值