python - 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 的第一个文件中,依此类推......
我究竟做错了什么?
解决方案
如果要将单个元素写入每个文件,则不需要内部循环。您可以使用zip()
简单的解决方案
for name, data in zip(new_list, dummy):
with open(f'{name}.txt', 'w') as fp:
fp.write(str(data))
推荐阅读
- python - 如何求解非平方线性方程组?
- kubernetes - 多个 Kubernetes 集群
- jssor - 如何使用锚标记包装 JSSOR 图像以超链接单个图像?
- java - 导航到片段时重置底部导航视图中的选择
- javascript - 如何将字符串的所有字符大写。像手机键盘
- windows - java.io.IOException:无法运行程序“cmd”
- git - Git:如何从本地更改列表(而不是暂存列表)中选择性地删除某些文件而不从索引中删除?
- directive - nuxtjs:全局客户指令无法通过插件数组解析
- java - 在类之间发送令牌
- asp.net-mvc - 如何使用 Entity Framework Code First 删除多对多自动生成的表