脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - python中如何设置list步长

python中如何设置list步长

2022-12-24 14:04木盏 Python

这篇文章主要介绍了python中如何设置list步长,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

如何设置list步长

示例:range(a, b, step)

?
1
2
3
>>> list(range(0,5,2))
 
[0, 2, 4]

其中step默认值为1,只能是整数步长,负数表示倒序。

?
1
2
3
>>> list(range(5,0,-2))
 
[5, 3, 1]

如果想生成小数步长的话,可以使用numpy模块中的arange:

?
1
2
3
4
>>> 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位浮点数,可以根据需要一下精度:

?
1
2
3
4
>>> 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实现:

?
1
2
3
4
>>> 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]

python list切片步长

nums[a:b:c]其中的a表示起始的index,b表示最终的index(不包含),c表示一次跨越的步长

这里,顺便补充一下range(a,b,c)的操作与上面是一致的

range在python2中就是一个list,而在python3中需要使用list(range())来转化

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://muzhan.blog.csdn.net/article/details/89011042

延伸 · 阅读

精彩推荐