我有一个字符串列表列表,我想将其转换为字符串列表,在每个列表项之间添加一个空格。例如
original_list = [['the', 'cat', 'in', 'the', 'hat'], ['fat', 'cat', 'sat', 'on', 'the', 'mat']]
desired_output = ['the cat in the hat', 'fat cat sat on the mat']
我知道我可以用这个来做:
desired_output
for each in original_list:
desired_output.append(' '.join(each))
但是当我处理大量数据时,理想情况下是寻找更有效的方法来实现这一目标。
答案 0 :(得分:4)
使用str.join
的空格' '
:
original_list = [['the', 'cat', 'in', 'the', 'hat'], ['fat', 'cat', 'sat', 'on', 'the', 'mat']]
final_list = [' '.join(i) for i in original_list]
输出:
['the cat in the hat', 'fat cat sat on the mat']
答案 1 :(得分:1)
另一种pythonic和简单的方法,在Python 3中,可以使用map
,另一个SO讨论说它应该更快,它会是这样的:
original_list = [['the', 'cat', 'in', 'the', 'hat'], ['fat', 'cat', 'sat', 'on', 'the', 'mat']]
# (------where magic happens--------)
desired_list = list(map(' '.join, original_list ))
#print
#output ['the cat in the hat', 'fat cat sat on the mat']