列表列表成单个字符串

时间:2018-11-21 00:14:36

标签: python string list

假设我有一个要说的列表列表

A = [[1,1,1,1],[2,2,2,2]]

我想从中创建两个字符串

'1111'

'2222'

我们将如何在python中做到这一点?

2 个答案:

答案 0 :(得分:6)

也许list comprehension

>>> A = [[1,1,1,1],[2,2,2,2]]
>>> l=[''.join(map(str,i)) for i in A]
>>> l
['1111', '2222']
>>> 

现在您已经掌握了。

答案 1 :(得分:2)

使用join和列表推导很容易做到这一点。

A = [[1,1,1,1],[2,2,2,2]]
a_strings = [''.join(map(str, sub_list)) for sublist in A]

看,join()接受一个字符串列表,并创建一个字符串,以连接所有子字符串,而我使用的列表理解只是循环遍历它们。在上面,我将2组合在一起。


再考虑一遍

实际上,

map()被认为更efficient (当不使用lambda等时使用),并且更具可读性。我将添加一种使用map而不是理解的方法。

a_strings = map(''.join(), map(str, A))

这首先获取内部映射,并使得所有int> str,然后join将所有str s合并在一起,用于每个子列表。

希望这对您来说让事情更具咀嚼性,每种方法几乎都是等效的,因此在这种情况下,您可以考虑它们的样式选择。