使用python reduce()将列表转换为字符串

时间:2018-08-05 05:15:34

标签: python-3.x

我正在尝试使用reduce()将输入单词['hdjk','salsap','sherpa']的列表转换为输出:'hdjk salsap sherpa'

这是我要处理的代码:

from functools import reduce
input_list =  ['hdjk', 'salsap', 'sherpa']
list(reduce(lambda x,y: x+" "+y, input_list)) # This gives irrelevant output

我也尝试过这个:

xinpl = [x.split() for x in input_list]
list(reduce(lambda x,y: x+" "+y, xinpl))

此代码连接了input_list中的所有元素,并且对我有用

print(" ".join(input_list))  

我查看了其他类似的线程,并做了很多尝试: Make List to String Python

我仍然是一个学习者。上师可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

代码的reduce部分工作正常。唯一的问题是它返回一个字符串,然后将其转换为列表。只需删除list中的list(reduce(...)),它就会按预期运行。

>>> from functools import reduce
>>> input_list =  ['hdjk', 'salsap', 'sherpa']
>>> reduce(lambda x,y: x+" "+y, input_list)
'hdjk salsap sherpa'

答案 1 :(得分:0)

input_list = ['All','you','have','to','fear','is','fear','itself']

from functools import reduce

string1 = str(reduce(lambda x,y: x + " " +y, input_list))

print(string1)