def to_string(my_list, sep=''):
for values in my_list:
dashed_list = sep + values
print(dashed_list)
str_list1 = ['r', 'i', 'n', 'g', 'i', 'n', 'g']
str_list2 = ['r', 'e', 'd']
string = list_function.to_string(str_list1)
print("List is:", string)
string = list_function.to_string(str_list1, sep='-')
print("List is:", string)
输出是:
List is: ringing
List is: r-i-n-g-i-n-g
但我想:
List is: r, i, n, g, i, n, g
List is: r-i-n-g-i-n-g
答案 0 :(得分:1)
Python有一个内置函数 - str.join
str_list1 = ['r', 'i', 'n', 'g', 'i', 'n', 'g']
string = ', '.join(str_list1)
print("List is:", string)
string = '-'.join(str_list1)
print("List is:", string)
或者在你的函数中,替换循环
return sep.join(my_list)
但是无论如何,你有一个空的空格分隔符的默认参数...如果你想要逗号+空格,你需要将它作为你的分隔符传递
list_function.to_string(str_list1, sep=', ')
如果你不能加入
new_str = ""
for i, v in enumerate(my_list):
new_str += v
if i < len(my_list):
new_str += sep
return new_str
答案 1 :(得分:0)
这完全有效,而不是使用任何内置方法
def to_string(my_list,sep =','):
new_str = " "
for i in range(length(my_list)):
if i == length(my_list)-1:
sep=''
new_str = new_str + my_list[i] + sep
return new_str