python np.arange 步长0.1的问题需要特别注意

目录
  • np.arange 步长0.1问题
    • 1)count输出什么?
    • 2)count输出是什么?
  • python步长的使用

np.arange 步长0.1问题

两个小测试:

1)count输出什么?

import numpy as np
    y_min= 20
    y_max= 21
    step = 0.1
    count = 0

    for i in np.arange(y_min, y_max, step):
        count += 1
        print('i:', count, i)

答案是:count = 10

如图

2)count输出是什么?

import numpy as np
    y_min= 20
    y_max= 21.1
    step = 0.1
    count = 0

    for i in np.arange(y_min, y_max, step):
        count += 1
        print('i:', count, i)

答案是:count = 12

如图

结论:python 的np.arange的步长默认是整数,对应范围是前闭后开[start, end),但是,步长是小数时,就不适用了,很容易出错,需要注意。

python步长的使用

我们在python中,有时候是需要间断取数或者其他情况时,这时就需要用到步长了,如下:

name=["a","b","c","d","e","f","g"]

这是一个列表,那如果需要取出列表中的数,但是又是间断取指定数时,此时可以用到步长,如图:

在python中,像print(name[1:4])这叫“切片,记住切片取数时是取头不取尾的,所以实际取的数分别是下标为1/2/3的数了”,那几个特殊的切片:

  • print(name[1:])#表示取到最后一个数
  • print(name[1:-1])#表示取到倒数第二个数,且包含倒数第二个数

下图介绍了两种切片方法:从左往右和从右往左

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Python中range、np.arange和np.linspace的区别

    目录 1. range 2. numpy.arange 3. numpy.linspace 参考 1. range range是python内置的一个类,该类型表示一个不可改变(immutable)的数字序列,常常用于在for循环中迭代一组特殊的数,它的原型可以近似表示如下: class range(stop) class range(start, stop, step=1) (注意,Python是不允许定义两个类初始化函数的,其实其CPython实现更像是传入不定长参数*args,然后根据le

  • 浅谈Python中range与Numpy中arange的比较

    本文先比较range与arange的异同点,再详细介绍各自的用法,然后列举了几个简单的示例,最后对xrange进行了简单的说明. 1. range与arange的比较 (1)相同点:A.参数的可选性.默认缺省值是一样的:B.结果均包括开始值,不包括结束值: C.arange的参数为整数是,与range函数等价:D.都具备索引查找.要素截取等操作. (2)不同点:A.range函数的参数只能为整数,arange的参数为数值型,包括整数和浮点数: B.输出的数据类型不同,range的输出为列表(li

  • 对python中arange()和linspace()的区别说明

    arange()类似于内置函数range(),通过指定开始值.终值和步长创建表示等差数列的一维数组,注意得到的结果数组不包含终值. linspace()通过指定开始值.终值和元素个数创建表示等差数列的一维数组,可以通过endpoint参数指定是否包含终值,默认值为True,即包含终值. 补充知识:python实现n阶乘0尾数计算案例 我就废话不多说了,大家还是直接看代码吧! class Solution: """ @param: n: An integer @return:

  • python np.arange 步长0.1的问题需要特别注意

    目录 np.arange 步长0.1问题 1)count输出什么? 2)count输出是什么? python步长的使用 np.arange 步长0.1问题 两个小测试: 1)count输出什么? import numpy as np y_min= 20 y_max= 21 step = 0.1 count = 0 for i in np.arange(y_min, y_max, step): count += 1 print('i:', count, i) 答案是:count = 10 如图 2

  • Python中range()与np.arange()的具体使用

    目录 np.arange() range() range()和np.arange()区别 np.arange() np.arange()函数返回一个有终点和起点的固定步长的排列,如[1,2,3,4,5],起点是1,终点是6,步长为1. 参数个数情况: np.arange()函数分为一个参数,两个参数,三个参数三种情况 一个参数时,参数值为终点,起点取默认值0,步长取默认值1. 两个参数时,第一个参数为起点,第二个参数为终点,步长取默认值1. 三个参数时,第一个参数为起点,第二个参数为终点,第三个

  • 基于np.arange与np.linspace细微区别(数据溢出问题)

    目录 太长不看的简洁版本 问题前夕 我的代码 同门的代码 代码对比[区别只体现在自变量x] 官方API解析 解决办法 太长不看的简洁版本 1.x = np.arange(start, end, steps) Values are generated within the half-open interval [start, stop)(in other words, the interval including start but excluding stop). 即区间是左闭右开的,不包含en

  • python 实现矩阵填充0的例子

    需求: 原矩阵 [[1 2 3] [4 5 6] [7 8 9]] 在原矩阵元素之间填充元素 0,得到 [[1. 0. 2. 0. 3.] [0. 0. 0. 0. 0.] [4. 0. 5. 0. 6.] [0. 0. 0. 0. 0.] [7. 0. 8. 0. 9.]] 思路: 先求出扩充矩阵的维度,再按照每一行每一列遍历,根据元素的索引规律依次赋值,最终实现新的扩充矩阵.这个思路实现如下: import numpy as np def PadMat(Ndim, Mat): Brow =

  • Python np.where()的详解以及代码应用

    目录 np.where共两种用法: 附:np.where()多条件用法 总结 np.where共两种用法: 第一种np.where(condition, x, y),即condition为条件,当满足条件输出为x,不满足条件则输出y.直接上代码: a = np.arange(10) //array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) print(np.where(a > 5, 1, -1)) //array([-1, -1, -1, -1, -1, -1, 1, 1,

  • python 创建一维的0向量实例

    第一种方法: A=[0]*8 第二种方法: import numpy as np A=np.zeros(8) 以上这篇python 创建一维的0向量实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]

    Python中对于数组和列表进行切片操作是很频繁的,当然对于切片的操作可供我们直接使用的函数也是很遍历了,我们今天主要简单总结一下常用集中索引化方式,希望对大家有所帮助吧. 对于列表的切片比较简单,在我之前的博客里面有详细的讲解,需要的话可以去看看,这里就不再详细说了,今天主要是讲解对于Python中Array对象的操作,我们平时使用比较频繁的一般也就是三维的矩阵了,再高维度的处理方式是相同的,这里我们只讲解三维和二维的使用. 对于X[:,0]; 是取二维数组中第一维的所有数据 对于X[:,1]

  • python深度学习tensorflow1.0参数和特征提取

    目录 tf.trainable_variables()提取训练参数 具体实例 tf.trainable_variables()提取训练参数 在tf中,参与训练的参数可用 tf.trainable_variables()提取出来,如: #取出所有参与训练的参数 params=tf.trainable_variables() print("Trainable variables:------------------------") #循环列出参数 for idx, v in enumera

随机推荐