4 回答

TA贡献1833条经验 获得超4个赞
您需要if在第一个字符之前跳过分隔符
def to_string(my_list, sep=', '):
string = ''
for char in my_list:
if string: # if string is not empty then add separator
string = string + sep
string = string + char
return string
my_list = ['H','E','L','p']
print(to_string(my_list, '-'))
其他方法是获取第一个字符并始终添加分隔符。但它需要检查列表是否不为空。
def to_string(my_list, sep=', '):
if not my_list:
return ''
string = my_list[0]
for char in my_list[1:]:
string = string + sep + char
return string
my_list = ['H','E','L','p']
print(to_string(my_list, '-'))

TA贡献2019条经验 获得超9个赞
您似乎已经很接近了,我不确定循环有什么令人困惑的地方。
我认为这会做到:
def to_string(my_list, sep='1,1'):
sep_string = my_list[0]
for ch in my_list[1:]:
sep_string += sep + ch
return sep_string
这个循环位不是一个非常pythonic的方法,但你不需要任何条件语句,只需使用分隔符即可。

TA贡献1804条经验 获得超3个赞
你可以做如下
def to_string(my_list, sep=', '):
return sep.join(my_list)
my_list = ['H','E','L','p']
to_string(my_list, "-")

TA贡献1851条经验 获得超5个赞
你可以使用这个:
def to_string(my_list, sep=', '):
string = ''
for i in my_list:
string = string + i + sep
return string
输出:
print(to_sting(['a','p','p','l', 'e'], '-')
a-p-p-l-e
添加回答
举报