将一个列表的列表转换为一个字符串列表。

9

在Python中,我该如何转换:

list01 = [ ['a', 'b', 'c'], ['i', 'j', 'k'], ['x', 'y', 'z'] ]

转化为

list02 = [ 'abc', 'ijk', 'xyz']
4个回答

19

使用map函数:

map(''.join, list01)

或者使用列表推导式(list comprehension)

[''.join(x) for x in list01]

两个输出:

['abc', 'ijk', 'xyz']
请注意,在Python 3中,map返回的是一个映射对象而不是列表。如果你确实需要一个列表,可以用list(map(...))来包装它,但此时使用列表推导式更加清晰。

3
使用 str.join列表推导式:
>>> list01 = [ ['a', 'b', 'c'], ['i', 'j', 'k'], ['x', 'y', 'z'] ]
>>> [''.join(x) for x in list01]
['abc', 'ijk', 'xyz']
>>>

2
>>> map(''.join, list01)
['abc', 'ijk', 'xyz']

1
你可以使用join将字符串中的元素合并,然后追加,如果你不想使用map
# Your list
someList = [ ['a', 'b', 'c'], ['i', 'j', 'k'], ['x', 'y', 'z'] ]
implodeList = []

# make an iteration with for in
for item in someList:
    implodeList.append(''.join(item))

# printing your new list
print(implodeList)

['abc', 'ijk', 'xyz']

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接