python中的range()函数改进版

python中自定义range()函数

随着自己对python的使用越来越频繁,在使用range()函数进行遍历时一直觉得range()函数只能步进整数很鸡肋,若我们需要使用小数步进时还需要导入numpy库;这就很烦了。因为自己最近刚好用到了小数步进;特此将自己改写的让range()函数贴上来,希望有用的上的同学可以使用。

def myrange(i:float,j:float,k=1)->list:    
    xlen=str((len(str(k-int(k)))-2)/10)+"f"     #根据k步长,判断format位数公式小数点位数/10+"f"
    lista = []
    if i<j:
    	while i<j:
        	lista.append(format(i, xlen))
        	i+= k
    	return list(map(lambda x:float(x), lista))
    if i>j:
    	while i>j:
        	lista.append(format(i, xlen))
        	i-= k
    	return list(map(lambda x:float(x), lista))
    A = myrange(0, 10, 0.1)
    B = myrange(10, 0, 0.1)
    #  输出测试
    print(A)
    print(B)
    # 输出结果
    [0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0]
    [1.0, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1, 0.0]

在使用的时候需要注意的时在进行从大到小进行range的时候不需要将步进值设为负的,直接是多少就多少好了。

在写这个函数的时候大部分参考了网上的资源,由于当初使用时没有将链接记下来;在此向有关的博主们致谢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值