Python itertools 排列将输出保存在 .txt 文件中

Python itertools permutations save output in .txt file

我正在寻找一种方法来将我在这里打印的输出写入 .txt 文件

for y in list(permutations(sllist, 3)):
        print("".join(y))

控制台中的输出如下所示:

ccccaaaaaaaabbbbdddddddddd
ccccaaaaaaaabbbbeeeeeee
ccccaaaaaaaabbbbfff
ccccaaaaaaaabbbbgggggggggggg
ccccaaaaaaaabbbb2001
ccccaaaaaaaabbbb01
ccccaaaaaaaabbbb06

这正是我想要在 .txt 文件中编写的方式。彼此之间排列整齐。 提前致谢。

使用上下文管理器打开文件,这样即使里面的代码引发异常,文件也会自动正确关闭。

正如评论中所指出的,无需在内存中创建整个列表,您可以遍历permutations返回的对象,并根据需要生成每个元素。

from itertools import permutations

sllist = "abcd"

with open("output.txt", "w") as f:
    for y in permutations(sllist, 3):
        line = "".join(y)
        print(line)
        f.write(f"{line}\n")

干杯!