猿问

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

我需要将列表转换为字符串,并在字母之间使用分隔符打印出该字符串。我需要使用给定的功能。我们还必须使用循环。


到目前为止,这是我所拥有的,但是如果将分隔符称为连字符或星号等,则需要更改分隔符。我只是不知道如何合并 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 或 HELP 等


倚天杖
浏览 151回答 4
4回答

潇潇雨雨

您需要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 stringmy_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 stringmy_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这个循环位不是一个非常pythonic的方法,但你不需要任何条件语句,只需使用分隔符即可。

狐的传说

你可以做如下def to_string(my_list, sep=', '):    return sep.join(my_list)my_list = ['H','E','L','p']to_string(my_list, "-")

江户川乱折腾

你可以使用这个:def to_string(my_list, sep=', '):    string = ''    for i in my_list:        string = string + i + sep    return string输出:print(to_sting(['a','p','p','l', 'e'], '-')a-p-p-l-e
随时随地看视频慕课网APP

相关分类

Python
我要回答