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
添加回答
舉報