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

如何修改递归求解N取K组合的Python代码,将输出转为字符串列表

你可以按如下方式修改代码,核心是新增结果列表存储所有组合字符串,替换原有的逐行打印逻辑:

修改后完整代码

def k_size_subsets(n, k):
    list1 = [i for i in range(1, n + 1)]
    data = [0] * k
    res = [] # 新增结果存储列表
    help_fun(n, k, data, list1, 0, 0, res)
    return res

def help_fun(n, k, data, list1, index, i, res):
    if index == k:
        # 替换原有打印逻辑,将组合转字符串加入结果列表
        res.append(''.join(map(str, data)))
        return
    if i >= n:
        return
    data[index] = list1[i]
    help_fun(n, k, data, list1, index + 1, i + 1, res)
    help_fun(n, k, data, list1, index, i + 1, res)

# 测试调用
print(k_size_subsets(5, 3))

核心修改点

  • 主函数k_size_subsets中初始化空列表res用于存储结果,递归执行完成后直接返回该列表
  • 为辅助函数help_fun新增res参数传递结果列表,移除原有的打印专用函数more_help
  • 调用k_size_subsets(5,3)即可直接得到你需要的["123","124","125","134","135","145","234","235","245","345"]格式结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 19:24:03