【发布时间】:2015-12-26 17:45:02
【问题描述】:
我有一个文本文件t1.txt:
1¶
2¶
3
我有一个文本文件t2.txt:
»1¶
»2¶
»3
其中» 和¶ 分别代表制表符和换行符。
我想将这两者结合起来,生成所有可能的组合:
11¶
12¶
13¶
21¶
22¶
23¶
31¶
32¶
33¶
这是我的代码:
out = 'out.txt'
in1 = 't1.txt'
in2 = 't2.txt'
outFile = open(out,'w')
with open(in1, 'r') as f:
for line1 in f:
for line2 in open(in2, 'r'):
outFile.write(line1+line2)
outFile.close()
但我得到的输出是:
1¶
»1¶
1¶
»2¶
1¶
»32¶
»1¶
2¶
»2¶
2¶
»33»1¶
3»2¶
3»3
我不明白为什么。
有人可以帮忙吗?
【问题讨论】:
-
嗨。看这里:iterools 并搜索组合()。
-
你知道缩进不正确吗?
-
第二个
for循环嵌套在第一个循环内,这意味着它将打印第一个文件的每一行与第二个文件的每一行,然后打印第一个文件的第二行与每个第二行等。 -
@mic4ael 是的,很抱歉在复制粘贴时发生...
-
@martineau 为什么?它不会打印第一行的每一行和第二行吗?这不是嵌套循环的作用吗?我很困惑..