使用分隔符打印列表

时间:2018-05-14 23:35:01

标签: python python-3.x

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

2 个答案:

答案 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