2014-11-12 3 views
0

Я пытаюсь объединить данные, расположенные на нескольких строках. Я не буду мутить воду, сообщая вам, где эти данные из, но в виде строки и образец может быть что-то вроде этого:Объединение двух строк с несколькими строками

aaa + bbb = aaabbb 
aaa + bbb = aaabbb 
aaa + bbb = aaabbb 

Я сделал некоторые простые демонстрационный код ниже :

a = "next\nnext\nnext" 
b = "text\ntext\ntext" 

c = a,b 
c = ','.join(c[0:2]) 

print c 

С предполагаемым выходом:

next,text 
next,text 
next,text 

Но что я получаю отпечатанные выглядит так:

next 
next 
next,text 
text 
text 

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

aaabbb 
aaabbb 
aaabbb 

Благодаря

ответ

3
a = "next\nnext\nnext" 
b = "text\ntext\ntext" 
print("\n".join([",".join(x) for x in zip(a.split(),b.split()))]) 
next,text 
next,text 
next,text 

расщепленные на новой линии, зип затем воссоединиться.

# ele 0 from a is grouped with ele 0 from b etc.. 
In [15]: zip(a.split(),b.split()) 
Out[15]: [('next', 'text'), ('next', 'text'), ('next', 'text')] 
# then we rejoin as one string the elements in the tuples ('next', 'text') -> 'next,text' 
In [18]: [",".join(x) for x in zip(a.split(),b.split())] 
Out[18]: ['next,text', 'next,text', 'next,text'] 
+0

привет снова. Спасибо за ответ. я буду смотреть на это завтра и посмотреть, могу ли я интегрировать его с моим реальным кодом. в вашем примере, я в порядке с верхним битом кода, но не могли бы вы объяснить мне, что делает нижний бит? например, я не уверен, что «В [15]:« делает ». спасибо – gdogg371

+0

они просто номера строк из моей оболочки ipython, они не имеют никакого отношения к коду –

+0

нормально, спасибо за информацию. – gdogg371

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