将文本组合为块

2024-06-17 10:35:43 发布

您现在位置:Python中文网/ 问答频道 /正文

例如,让我们从两个文本块开始

a = """CAC
ABA
CAC"""
b = """AAA
BBB
CCC"""

如果我们加上这两个字符串,我们将得到

>>> print(a+b)
CAC
ABA
CACAAA
BBB
CCC
>>>

我想知道是否有一种快速的方法来添加大块的文本以便它们并排打印,比如:

>>> print(a+b)
CACAAA
ABABBB
CACCCC
>>>

我知道一个人能做到

>>> print('\n'.join(list(a.split('\n')[x]+b.split('\n')[x] for x in range(3))))
CACAAA
ABABBB
CACCCC
>>>

但是有没有更快的方法呢


Tags: 方法字符串文本splitprintbbbccccac
2条回答

代码的主要问题是在每次迭代时分割ab行。你只需要在开始的时候把线分开一次

>>> pairs = zip(a.splitlines(), b.splitlines())
>>> '\n'.join([''.join(p) for p in pairs])
'CACAAA\nABABBB\nCACCCC'
'\n'.join(map(str.__add__, a.split('\n'), b.split('\n')))

您还可以用.splitlines()替换.split('\n'),但不确定这是否会加快速度

注意,在您自己的代码中,不需要list(...)join接受任何iterable

相关问题 更多 >