由于非原形化的一些问题,我不得不以以下形式导入一个列表:
list_a = [['a', 'b'], ['c', 'd'], ['a', 'b']]
现在,我想计算每个元素的频率,但是该列表不能以这种形式散列。因此,我想将其转换为:
list_b = ['a b', 'c d', 'a b']]
我知道这是一个非常自制的问题,可能是一个肮脏的解决方法,但是在导入形式的list_b中,词形化仅对列表中的单个元素进行词形化,而没有涉及任何组成元素。
非常感谢您的时间。
答案 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']