gpt4 book ai didi

python - 以带有分隔符的字符串形式返回列表

转载 作者:行者123 更新时间:2023-11-30 23:15:50 25 4
gpt4 key购买 nike

def buggy_join(input, sep=","):
list=input
print list
str="".join(str(x) for x in list)
print str
str=sep.join(str)
return str
buggy_join(range(6))

这是我的代码,我应该得到的结果为“0,1,2,3,4,5”。我的代码哪里有错误。请告知。

最佳答案

您使用空字符串分隔符连接列表,然后使用逗号连接结果字符串。

只需加入以逗号开头的列表:

def working_join(input, sep=","):
result = sep.join([str(v) for v in input])
return result

使用str.join()使用字符串输入在所有单个字符之间放置分隔符:

>>> ','.join('Hello world!')
'H,e,l,l,o, ,w,o,r,l,d,!'

那是因为字符串也是一个序列。这对于计数到 9 的范围来说很好。 ,但是对于 10向上,您可以在 1 之间放置一个逗号和0字符。

尽量不要使用类似 str 的名称和list ;这些是内置类型,通过将它们用于您自己的代码中的其他对象,您最终会屏蔽内置类型,并且在需要时无法使用它们。本着这种精神,input也是一个内置函数,但您在此函数中不太可能需要它。

因为您尝试使用str作为内置类型(将 input 中的各个元素转换为字符串) 作为本地名称,您的函数会抛出 NameError ; Python 标记 str作为函数中的本地对象,而不是内置对象。这会导致str在引用 str 的生成器表达式中函数中的变量,整个事情就崩溃了,因为该名称尚未分配任何内容。

关于python - 以带有分隔符的字符串形式返回列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28030027/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com