首页 > 解决方案 > For循环将列表的所有元素放入不同的txt文件中,而不是在python中遍历每个元素

问题描述

我试图创建不同的唯一文件,并向每个文件添加另一个列表的元素,而是遍历每个元素,我将列表的整个元素放入每个文件中。

new_list = ['a','b','c','d','e','f','g','h','i','j'] # txt files
dummy = [1,2,3,4,5,6,7,8,9,10] # elements to add to the txt files

这是我尝试过的代码,

for j in new_list:
        filename = '{}.txt'.format(j)
        with open(filename, 'w') as f:
            for i in dummy:
                f.write('{}\n'.format(i))   

创建文件的循环运行良好,但第二个循环尝试写入每个文件迭代的每个元素不起作用,而是获取列表的所有元素并将它们写入每个文件。

我希望将 dummy 的第一个元素写入 new_list 的第一个文件中,依此类推......

我究竟做错了什么?

标签: pythonlistfor-loopwritetxt

解决方案


如果要将单个元素写入每个文件,则不需要内部循环。您可以使用zip()简单的解决方案

for name, data in zip(new_list, dummy):
    with open(f'{name}.txt', 'w') as fp:
        fp.write(str(data))

推荐阅读