как объединить две отформатированные строки в python - PullRequest
0 голосов
/ 27 марта 2020

Есть ли способ объединить эти две отформатированные строки по горизонтали? Я попытался + B, но у меня есть вертикально соединенные строки.

здесь - снимок экрана с отформатированными строками.

a =  '''
      __  
     (  ) 
      )(  
     (__) 
   '''
b = '''
    ____ 
   (  __)
    ) _) 
   (__) 
  '''
 print(a+b) #I don't need this I need horizontal way of concatenation

Ответы [ 3 ]

2 голосов
/ 27 марта 2020

Вы можете сделать что-то похожее на это

>>> lines = zip(a.split('\n'), b.split('\n'))
>>> ab = '\n'.join([ai + bi for ai, bi in lines])
>>> print ab

      __      ____ 
     (  )    (  __)
      )(      ) _) 
     (__)    (__) 

>>> 
1 голос
/ 27 марта 2020

Вы можете объединить строку за строкой следующим образом.

c = [x + y for x, y in zip(a.split('\n'), b.split('\n'))] 
# x + y is line by line concatenation
# zip is selecting a pair of lines at a time from a & b

print('\n'.join(c))

Выход

  __      ____ 
 (  )    (  __)
  )(      ) _) 
 (__)    (__) 
0 голосов
/ 27 марта 2020

Прямой ответ может быть простым, если мы определим две отформатированные строки, используя 'массивы'. Ответ:

aa = ["___"],["()"],[")("]
bb = ["___"],[")("],["()"]
print (aa)
print (bb)

cc=[]
for index in range(3):
   cc.append(aa[index]+ bb[index])

print (cc[0][0], cc[0][1])
print (cc[1][0], cc[1][1])
print (cc[2][0], cc[2][1])

Форматированные строки отличаются от примера, но мы надеемся, что концепция понятна.

Результат:

enter image description here

...