字符串的多余尾随串联

时间:2018-10-08 03:15:16

标签: python python-3.x

我正在尝试编写一个将获取列表并将其转换为由-,分隔的字符串的函数。

我必须为此使用一个循环,所以我想到了以下内容。

我的问题是我无法摆脱尾随的分隔符。有任何想法吗?

输出为:String is r-i-n-g-i-n-g-

应为:String is r-i-n-g-i-n-g

#A list created for the purpose of converting it to a string)
c_list = ['r', 'i', 'n', 'g', 'i', 'n', 'g']
# Function to_string() 
def to_string(my_list, sep=', '):
    counter = 0
    mystring = ''
    for n in my_list:
        n = str(n)
        mystring = mystring + n
        mystring = mystring + sep


    return mystring

print('String is', to_string(c_list, '-'))

2 个答案:

答案 0 :(得分:3)

您可以改用str.join方法:

print('String is', '-'.join(c_list))

但是,如果您需要使用循环,则可以使添加分隔符成为循环中的第一件事,但是要以mystring中已经存在的内容为条件,这样它就可以不在第一次迭代中添加分隔符:

c_list = ['r', 'i', 'n', 'g', 'i', 'n', 'g']
# Function to_string()
def to_string(my_list, sep=', '):
    counter = 0
    mystring = ''
    for n in my_list:
        if mystring:
            mystring = mystring + sep
        n = str(n)
        mystring = mystring + n    
    return mystring

print('String is', to_string(c_list, '-'))

答案 1 :(得分:0)

在return语句中,可以使用字符串切片来删除结尾的定界符。

return mystring[:-1]

这将删除字符串中的最后一个字符。