为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

倚天杖 2022-06-22 17:33:26
我需要将列表转换为字符串,并在字母之间使用分隔符打印出该字符串。我需要使用给定的功能。我们还必须使用循环。到目前为止,这是我所拥有的,但是如果将分隔符称为连字符或星号等,则需要更改分隔符。我只是不知道如何合并 sep='1,1' 的默认参数。任何提示和帮助将不胜感激。使用 Python 3.7def 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 等
查看完整描述

4 回答

?
潇潇雨雨

TA贡献1833条经验 获得超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 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, '-'))


查看完整回答
反对 回复 2022-06-22
?
慕少森

TA贡献2019条经验 获得超9个赞

您似乎已经很接近了,我不确定循环有什么令人困惑的地方。


我认为这会做到:


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的方法,但你不需要任何条件语句,只需使用分隔符即可。


查看完整回答
反对 回复 2022-06-22
?
狐的传说

TA贡献1804条经验 获得超3个赞

你可以做如下


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

    return sep.join(my_list)



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

to_string(my_list, "-")


查看完整回答
反对 回复 2022-06-22
?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

你可以使用这个:


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


查看完整回答
反对 回复 2022-06-22
  • 4 回答
  • 0 关注
  • 150 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号