如何将每个子列表连接到Python中的单个字符串?

时间:2017-01-29 20:18:35

标签: python string python-2.7 list join

MWE:以下是列表:

L=[['1', '1', '0', '0', '0'],['1', '1', '1', '1', '0'],['0', '0', '1', '1', '0']]

我想要的清单是:

 D=['11000','11110','00110'] 

我该怎么做才能帮忙。

3 个答案:

答案 0 :(得分:3)

String Input = null;

while(true){
    Input = scanner.nextLine();
    switch (Input) {
    case "Eat":
        blue.eat();
        break;

    case "Sleep":
        blue.sleep();
        break;

    case "Sport":
        blue.sport();
        break;

    case "Condition":
        blue.output();
        break;

    default: System.out.println("no valid option");
        break;
    }

答案 1 :(得分:2)

您可以使用列表理解:

L = [
    ['1', '1', '0', '0', '0'],
    ['1', '1', '1', '1', '0'],
    ['0', '0', '1', '1', '0']
    ]

D = [''.join(l) for l in L]

或地图功能:

D = map(''.join, L) # returns a generator in python3, cast it to list to get one

请注意,执行此操作的最pythonic方式是列表理解。

答案 2 :(得分:0)

可以通过reduce轻松创建

列表。

您需要使用初始化器-reduce函数中的第三个参数。

reduce(
   lambda result, _list: result.append(''.join(_list)) or result, 
   L, 
   [])

或组合映射和缩小

import operator
map(lambda l: reduce(operator.iconcat, l), L)

以上代码适用于python2和python3,但是您需要将reduce模块导入为from functools import reduce。有关详细信息,请参见下面的链接。