从file1 x file2生成每个单词的笛卡尔积

2024-10-01 11:20:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经搜索了很多网站和论坛,我不能使它工作。我使用read(),readline()组合各种解决方案。我试了一会儿又试了一会儿,但还是想不出来。 这是任务。我有两个扩展名为txt的文件。所以文件1是list1.txt,文件2是list2.txt

list1.txt有

dog
flower
person

list2.txt有

123
456

我想要的是下一个。新文档list3.txt包含:

dog123
dog456
flower123
flower456
person123
person456

但是我不能使用itertool,因为我不能合并两个文件。那是禁止的。 任何人都可以帮助找到解决办法或给出一些建议。你知道吗


Tags: 文件文档txtreadreadline网站解决方案论坛
2条回答

看看Docs on Input and Output:

with open('list1.txt', 'r') as l1, open('list2.txt', 'r') as l2, open('list3.txt', 'w') as l3:
    for i, l in enumerate(l1):
        x = l1.readline()
        for j, k in enumerate(l2):
            l3.write('%s%s' % (x, l2.readline()))

这样做有效:

with open('list1.txt', 'r') as l1, open('list2.txt', 'r') as l2, open('list3.txt', 'w') as l3:
    for left_part in l1:
        for right_part in l2:
            l3.write('%s%s\n' % (left_part.replace("\n",""), right_part.replace("\n","")))
        l2.seek(0)

相关问题 更多 >