You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

不使用Numpy的Python数组0值填充方法及自定义函数实现问题

不使用Numpy的全0列表填充与直方图函数实现方案

全0列表生成方法

不用调用numpy的zeroes函数,Python原生就有两种常用的全0列表生成方式:

  • 列表乘法(最简便,适合一维列表场景):[0] * 所需列表长度,比如要生成对应0到maxInt共maxInt+1个位置的全0列表,写法为[0] * (maxInt + 1)
  • 列表推导式(适用场景更通用,可避免多维列表的浅拷贝问题):[0 for _ in range(所需列表长度)]

目标函数补全实现

你需要的计数列表初始化为全0列表后,遍历缩放后的数据对应位置累加计数即可,完整实现如下:

def myHistWithRescale(listOfNums, maxInt):
    """给定任意范围的实数列表,先将数值缩放到0到maxInt(含)之间的整数,再以列表形式返回每个整数的出现次数
    """
    rescaledData = rescaleToInt(listOfNums, maxInt)  
    # 初始化全0计数列表,每个下标对应一个整数的出现次数
    counts = [0] * (maxInt + 1)
    for val in rescaledData:
        counts[val] += 1
    return counts

补充说明:需保证rescaleToInt函数返回的所有值都在0~maxInt闭区间内,否则会出现列表下标越界报错。

内容的提问来源于stack exchange,提问作者user16890274

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 04:27:03