将文本组合为块

时间:2018-04-21 19:57:35

标签: python string python-3.x

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

//add Exception to method signature
protected void onCreate(Bundle savedInstanceState) throws IOException {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
  //don't forget to set timeOut like this
    Document doc = Jsoup.connect(url)timeOut(0).get();
    title = doc.title();

//Element span = doc.getElementsByClass("jfg-badge badge-count").get(0);
TextView titleText = (TextView) findViewById(R.id.titletext);
titleText.setText(title);
 }
 }

如果我们添加这两个字符串,我们最终会以

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

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

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

我知道可以做到

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

但有更快的方法吗?

2 个答案:

答案 0 :(得分:4)

'\n'.join(map(str.__add__, a.split('\n'), b.split('\n')))

您也可以将.split('\n')替换为.splitlines(),不确定是否会加快速度。

请注意,在您自己的代码中,不需要list(...)join接受任何可迭代的内容。

答案 1 :(得分:2)

您的代码的主要问题是您在每次迭代时都会分割ab的行。您只需要在开头分割一次。

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