假设我有一个要说的列表列表
A = [[1,1,1,1],[2,2,2,2]]
我想从中创建两个字符串
'1111'
'2222'
我们将如何在python中做到这一点?
答案 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合并在一起,用于每个子列表。
希望这对您来说让事情更具咀嚼性,每种方法几乎都是等效的,因此在这种情况下,您可以考虑它们的样式选择。