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

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

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

输出为: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, '-'))

最佳答案

您可以改用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, '-'))

关于python - 字符串的多余尾随串联,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52694922/

10-11 14:06