我正在尝试编写一个将获取列表并将其转换为由-
或,
分隔的字符串的函数。
我必须为此使用一个循环,所以我想到了以下内容。
我的问题是我无法摆脱尾随的分隔符。有任何想法吗?
输出为: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, '-'))
答案 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]
这将删除字符串中的最后一个字符。