将列表的元素从[['a','b'],['c','d']]转换为['a b','c d']

时间:2019-09-20 11:30:32

标签: python list

由于非原形化的一些问题,我不得不以以下形式导入一个列表:

list_a = [['a', 'b'], ['c', 'd'], ['a', 'b']]

现在,我想计算每个元素的频率,但是该列表不能以这种形式散列。因此,我想将其转换为:

list_b = ['a b', 'c d', 'a b']]

我知道这是一个非常自制的问题,可能是一个肮脏的解决方法,但是在导入形式的list_b中,词形化仅对列表中的单个元素进行词形化,而没有涉及任何组成元素。

非常感谢您的时间。

2 个答案:

答案 0 :(得分:3)

您可以将列表理解与字符串连接一起使用:

list_a = [['a', 'b'], ['c', 'd'], ['a', 'b']]

list_b = [x + ' ' + y for x, y in list_a]

您还可以使用str.join(在子列表中有两个以上元素时很有用):

list_b = [' '.join(a) for a in list_a]

输出:

['a b', 'c d', 'a b']

答案 1 :(得分:1)

您还可以使用地图功能:

list_a = [['a', 'b'], ['c', 'd'], ['a', 'b']]

list_b = list(map(' '.join, a))
# ['a b', 'c d', 'a b']

Understanding the map function