2016-05-20 5 views
0

У меня есть 3 series, каждая из которых имеет эквивалентную длину, я преобразовал их в 3 list. Я хочу объединить строки в списках по одному и тому же индексу и поместить конкатенированные строки в другой список. Как это сделать? например list1[0] + list2[0] + list3[0] для каждого индекса n.Как объединить строки в несколько списков с тем же индексом

ответ

1

Вы можете использовать zip() и list comprehension:

>>> l1 = ["a", "b", "c"] 
>>> l2 = ["1", "2", "3"] 
>>> l3 = ["!", "?", "."] 
>>> [''.join(item) for item in zip(l1, l2, l3)] 
['a1!', 'b2?', 'c3.'] 

что, если l1, l2, l3 находятся в списке л, и я не знаю, сколько элементов в л, как сделать конкатенацию

в этом случае, вы можете просто распаковать список с подсписком к zip() аргументы функции:

>>> l = [l1, l2, l3] 
>>> [''.join(item) for item in zip(*l)] 
['a1!', 'b2?', 'c3.'] 
+0

что, если 'l1',' l2', 'l3' в списке' L', и я не знаю, сколько элементов в 'L', и я хочу конкатенировать строки в каждом элементе, как выполнить конкатенацию. thx – daiyue

+0

@ daiyue в порядке, обновлено с образцом - надеюсь, я правильно понял проблему. – alecxe

Смежные вопросы