将集合转换为字符串

时间:2015-10-28 18:42:44

标签: python

所以我应该创建一个函数,它接受任何类型的可迭代输入并将其转换为由空格分隔的输入字符串。例如,如果您要调用iteration_to_string(" abcd"),它将返回" a b c d" (允许末尾的空格)。或者如果[1,2,3,4]是输入,它应返回" 1 2 3 4"。到目前为止我所有的是如何将输入转换成一个集合,我很困惑,把它变成一个字符串。我假设它会在for循环中添加一些内容,它会以某种方式将输入与空格连接在一起,但我不知道该怎么做。任何帮助表示赞赏!

    def iteration_to_string (data):
        new = set()

        for i in range (len(data)):
            new.add(data[i])


        return " ".join(new)

2 个答案:

答案 0 :(得分:1)

任何可迭代的

' '.join(iterable)

将返回一个字符串,其中iterable中的所有元素都以空格分隔。请参阅str.join(iterable)

如果iterable中的元素不是你需要的字符串

' '.join(str(item) for item in iterable)

(您也可以使用任何其他字符串执行此操作; ''.join(iterable)如果您不希望其间有任何空格。)

答案 1 :(得分:1)

您的代码可能不适用于包含元素int的列表,如[1,2,3,4],因为join需要字符串

所以你可以在加入之前将它们转换为int,如下所示:

doOptions

如果你不想使用地图

,你可以使用列表理解
>>> def my_join(x):
...     return " ".join(map(str, x))
... 
>>> my_join([1, 2, 3, 4])
'1 2 3 4'