2013-06-29 2 views
0

У меня есть следующий список: [['a','b','c'],['d','e'],['f','g','h','i',j]]Python слияния Подсписок

Я хотел бы список, как это: ['abc','de','fghij']

Как это возможно?

[Изменить]: в самом деле, мой список может иметь строки и числа,

l = [[1,2,3],[4,5,6], [7], [8,'a']] 

и будет:

l = [123,456, 7, 8a] 

ТНХ всем,

+2

Являются вашими «a, b, c» ect. строки? т.е. вы имеете в виду: '[['a', 'b', 'c'], ['d', 'e'], ['f', 'g', 'h', 'i', 'j ']] '->' [' abc ',' de ',' fghij '] '? – digEmAll

+0

- это слияние означает, что '['f', 'g', 'h', 'i', 'j', 'i', 'f']' будут объединены в '' fghij'' – oleg

ответ

4

вы можете применить ''.join метод для всех подписок. Это можно сделать либо с помощью map функции или с помощью списковых

map функция прогонов функция передается в качестве первого аргумента ко всем элементам итерацию объекта

initial = ['a', 'b', 'c'], ['d', 'e'], ['f', 'g', 'h', 'i', 'j']] 
result = map(''.join, initial) 

также можно использовать список понимание

initial = ['a', 'b', 'c'], ['d', 'e'], ['f', 'g', 'h', 'i', 'j']] 
result = [''.join(sublist) for sublist in initial] 
4

Ставка

>>> L = [['a','b','c'],['d','e'],['f','g','h','i','j']] 
>>> [''.join(x) for x in L] 
['abc', 'de', 'fghij']