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

Python如何仅使用递归实现列表(List)转换为对应数字

递归实现列表转数字功能

首先修正原代码的几处明显问题:

  • 不要使用list作为参数名,会覆盖Python内置的list类型
  • 原调用示例中base=1属于笔误,要得到十进制结果12329需要传入base=10
  • Python打印函数为小写print,不可首字母大写

完整递归实现代码

def listIntoNumber(input_list, base):
    # 递归基线条件:列表仅剩余1个元素时直接返回该元素
    if len(input_list) == 1:
        return input_list[0]
    # 递归逻辑:首位乘base的(剩余列表长度)次方,加上剩余列表的递归计算结果
    return input_list[0] * (base ** (len(input_list) - 1)) + listIntoNumber(input_list[1:], base)

# 调用测试
print(listIntoNumber([1,2,3,2,9], 10))

运行上述代码将输出预期结果12329。

实现逻辑说明

  • 基线条件:当输入列表长度为1时,无需进一步计算,直接返回唯一的元素即可
  • 递归拆分:每次取出列表的第一个元素,计算其对应的位权值(base的n次方,n为剩余元素个数),再和剩余子列表的递归计算结果相加,最终得到完整的数字。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 23:15:04