t=('1','2','3')
print '-'.join(t).join(t)
上述代码的输出是
11-2-321-2-33
如何?
答案 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)的