繁体   English   中英

如何修复将列表转换为字符串的递归函数

[英]How do I fix my recursive function that converts a list to a string

我想将list转换为string并使用以下代码行来查找所需的字符串。

我的代码

def list_to_string2(values):
    num = ""
    x=0
    x= values[x]
    num += str(x)
    if len(values) == 0:
        return num
    else:
        return list_to_string2(values) + values.pop(0)

values = [1, 2, 3, 4, 5]
s2 = list_to_string2(values)
print(s2)

遇到这样的问题: RecursionError: maximum recursion depth exceeded while getting the str of an object

我在编程的初学者阶段遇到了这个挑战。

非常感谢您的帮助。 谢谢你。

这是您的代码的固定版本:

def list_to_string2(values, num=""):
    s = str(values[0])
    if len(values) == 1:
        return num + s
    else:
        num += s + ", "
        return list_to_string2(values[1:], num)

如果您不需要递归,您可以简单地执行以下操作:

def list_to_string2(values):
    return ", ".join(map(str, a))

map(str, ...)将每个项目转换为字符串,而", ".join()将使用", "作为分隔符连接这些元素。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM