Python怎样设置list步长,代码怎样写
Admin 2022-09-05 群英技术资讯 1160 次浏览
在实际应用中,我们有时候会遇到“Python怎样设置list步长,代码怎样写”这样的问题,我们该怎样来处理呢?下文给大家介绍了解决方法,希望这篇“Python怎样设置list步长,代码怎样写”文章能帮助大家解决问题。>>> list(range(0,5,2)) [0, 2, 4]
其中step默认值为1,只能是整数步长,负数表示倒序。
>>> list(range(5,0,-2)) [5, 3, 1]
如果想生成小数步长的话,可以使用numpy模块中的arange:
>>> import numpy as np >>> list(np.arange(0,1,0.1)) [0.0, 0.10000000000000001, 0.20000000000000001, 0.30000000000000004, 0.40000000000000002, 0.5, 0.60000000000000009, 0.70000000000000007, 0.80000000000000004, 0.90000000000000002]
numpy默认精度为64位浮点数,可以根据需要一下精度:
>>> import numpy as np >>> list(np.arange(0,1,0.1,dtype='float32')) [0.0, 0.1, 0.2, 0.30000001, 0.40000001, 0.5, 0.60000002, 0.69999999, 0.80000001, 0.90000004]
还可以通过等分的思想来设置步长,用linspace实现:
>>> import numpy as np >>> list(np.linspace(0,0.9,10)) [0.0, 0.10000000000000001, 0.20000000000000001, 0.30000000000000004, 0.40000000000000002, 0.5, 0.60000000000000009, 0.70000000000000007, 0.80000000000000004, 0.90000000000000002]
nums[a:b:c]其中的a表示起始的index,b表示最终的index(不包含),c表示一次跨越的步长
这里,顺便补充一下range(a,b,c)的操作与上面是一致的
range在python2中就是一个list,而在python3中需要使用list(range())来转化
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
python中如何实现多线程?线程是指进程内的一个执行单元,也是进程内的可调度实体,这篇文章主要给大家介绍的是python 实现多线程的三种方法,对新手学习和理解多线程有一定参考价值,下面我们一起来看看吧。
这篇文章主要介绍json数据的存储,在Python学习中,我们可能会有存储 json数据的需求,因此下文给大家分享简单的json数据的存储操作,感兴趣的朋友可以参考,希望大家阅读完这篇文章能有所收获。
由于之前的在职的公司没有机会接触到Oralce数据库,所以就没有用python连接过Oralce,之前大多集中在连接mysql和sql server,最近在做一下web自动化的工作,所以简单的记录一下,下面这篇文章主要给大家介绍了关于利用Python连接Oracle数据库的基本操作,需要的朋友可以参考下
这篇文章主要介绍了Python中range函数的使用方法,文章基于Python3环境展开range函数的使用方法,具有一定的参考价值,需要的小伙伴可以参考一下
日常工作中有许多类型的文件,以及许多方法,用它们从文件中提取数据来图形化。本文将利用Python实现从文件中加载数据,感兴趣的可以了解一下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008