函数使用循环将列表转换为字符串

2024-04-18 23:37:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要将一个列表转换成一个字符串,并用字母之间的分隔符打印出来。 我需要使用给定的函数。我们还必须使用循环。

这是我到目前为止所做的,但是如果作为连字符或星号等调用,分隔符需要更改。我只是被困于如何合并sep='1,1'的默认参数。你知道吗

任何提示和帮助将不胜感激。使用Python 3.7

def to_string(my_list, sep=', '):

    my_list = ['H','E','L','p']
    string = ''

    my_string = ''.join(my_list)

    for i in my_string:
        string = string + i + ',' 


    return string

调用时的输出应为H、E、L、p或H-E-L-p等


Tags: to函数字符串列表参数stringmydef
3条回答

你可以这样做

def to_string(my_list, sep=', '):
    return sep.join(my_list)


my_list = ['H','E','L','p']
to_string(my_list, "-")

您需要if在第一个字符之前跳过分隔符

def to_string(my_list, sep=', '):

    string = ''

    for char in my_list:
        if string: # if string is not empty then add separator
            string = string + sep
        string = string + char

    return string

my_list = ['H','E','L','p']
print(to_string(my_list, '-'))

另一种方法是获取第一个字符并始终添加分隔符。但它需要检查列表是否为空。你知道吗

def to_string(my_list, sep=', '):

    if not my_list:
        return ''

    string = my_list[0]

    for char in my_list[1:]:
        string = string + sep + char

    return string

my_list = ['H','E','L','p']
print(to_string(my_list, '-'))

你看起来已经很接近了,我不知道这个循环有什么混乱之处。你知道吗

我想这样就可以了:

def to_string(my_list, sep='1,1'):
    sep_string = my_list[0]
    for ch in my_list[1:]:
        sep_string += sep + ch
    return sep_string

这个循环位不是一个非常python的方法,但是您不需要任何条件语句,只需要使用分隔符。你知道吗

相关问题 更多 >