在Python中使用链式连接方法

时间:2016-08-09 15:34:01

标签: python-2.7

t=('1','2','3')
print '-'.join(t).join(t)

上述代码的输出是

  

11-2-321-2-33

如何?

2 个答案:

答案 0 :(得分:2)

好的,让我们分解"打印' .join(t).join(t)"分成两个单独的方法调用。因为在功能上,这就是程序中发生的事情。

第一个电话:' - ' .join(' 1',' 2',' 3&#39 ;)将返回' 1' +' - ' +' 2' +' - ' +' 3'或简称' 1-2-3'。我替换了'#39;与其在程序中的实际值。然后,此方法调用的结果将用作第二个方法调用的输入。这将我们带到..

第二个电话:' 1-2-3' .join(' 1',' 2',' 3')将返回' 1' +' 1-2-3' +' 2' +' 1-2-3' +' 3'或者! 11-2-321-2-33'

希望这能为您澄清这一点

答案 1 :(得分:0)

实际上发生的事情是Python正在通过首先求解内部“join”来评估你的表达式 - 它输出“1-2-3”,然后使用该字符串来加入你的元组。让我们称之为第一个字符串“-AaA-” - 你最终看到的基本上是:1-AaA-2-AaA-3。只有代替我的字符串,你才能得到由“ - ”连接的元组,由元组包围。

它与以下相同: “1-2-3'.join(t)的