Преобразуйте элементы списка из [['a', 'b'], ['c', 'd']] в ['a b', 'c d'] - PullRequest
1 голос
/ 20 сентября 2019

из-за некоторых проблем с лемматизацией мне пришлось импортировать один список в виде:

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

Теперь я хочу подсчитать частоту каждого элемента, но список в этой форме неустрашим.Поэтому я хочу преобразовать это в:

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

Я знаю, что это очень самодельная проблема и, возможно, грязный обходной путь, но в импортированной форме list_b лемматизация только лемматизировала отдельные элементысписок и не трогал никаких составных элементов.

Большое спасибо за ваше время.

Ответы [ 2 ]

3 голосов
/ 20 сентября 2019

Вы можете использовать понимание списка с конкатенацией строк:

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 голос
/ 20 сентября 2019

Вы также можете использовать функцию карты:

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

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

Понимание функции карты

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...