首页 > 解决方案 > Python:接受列表和分隔符并返回字符串的函数

问题描述

我需要创建一个函数,该函数将列表和分隔符值作为参数,并返回由分隔符值分隔的列表的字符串表示形式。

我可以使用的唯一内置函数是range()str()没有任何切片表达式、列表方法或字符串方法。

我已经整理了一些代码,但我知道它不正确,因为它在开头显示空格,在结尾显示分隔符(分隔符只需要在值之间)。

我怎样才能解决这个问题?

def my_string(my_list, sep=', '):
    string = " "

    for words in my_list:
        string += words + ', '     

    return string

my_list = ["item1", "item2", "item3", "item4"]
list_string = my_string(my_list, sep=', ')
print (list_string)

标签: python

解决方案


您可以在没有任何内置函数的情况下执行此操作:

def my_string(my_list, sep=', '):
    result = ''

    # Safety check
    if not my_list:
        return result

    idx = 0
    for word in my_list:
        # Add the seperator before every item but the first one
        result += (sep if idx else '') + word
        idx += 1

    return result

my_list = ["item1", "item2", "item3", "item4"]
list_string = my_string(my_list)
print (list_string)  # >>> 'item1, item2, item3, item4'

几点:

  • 正如RoadRunner 所说,你应该sep在函数内部使用过my_string
  • sep如果是默认值则不需要通过
  • 就个人而言,我不喜欢以 开头的名字my_,它应该是有意义的。为什么不join_list为函数l甚至参数arr_list

推荐阅读