代码之家  ›  专栏  ›  技术社区  ›  IndPythCoder

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

  •  0
  • IndPythCoder  · 技术社区  · 8 年前

    我正在尝试使用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))
    

    这段代码连接了输入列表中的所有元素,对我很有用

    print(" ".join(input_list))  
    

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

    我还是个学习者。大师你能帮忙吗?

    1 回复  |  直到 8 年前
        1
  •  1
  •   StardustGogeta    8 年前

    这个 reduce 部分代码运行良好。唯一的问题是它返回一个字符串,然后将其转换为一个列表。只需删除 list 在里面 list(reduce(...)) 而且工作如期。

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