python - 在 txt 文件中打印二维数组仅保存最后一行 - .join 的使用不正确?
问题描述
我有一个二维数组(yieldpergroup)并尝试使用类似的东西垂直保存每个数组
with open('txt/All_numbers.txt', 'w') as f:
lines = [' \t'.join([str(x[i]) for x in yieldpergroup]) for i in range(0,len(max(yieldpergroup)))]
即我的数组是这样的
yieldpergroup([a,b,c,d][1,2,3,4][!,@,#,$])
我想要它的格式
a 1 !
b 2 @
c 3 #
d 4 $
但是,txt 虽然正确地包含所有列,但是只有最后一个正确显示,所有其他列都用零填充(就像我第一次使用 yieldpergroup = [[0 for i in range(cols)] for j in范围(行)])。使用 join 时我做错了什么?
解决方案
您可以使用zip
转置模式来获得所需的结果。利用:
yieldpergroup = (['A','B','C', 'D'], [1,2,3,4], ['!','@','#','$'])
with open('txt/All_numbers.txt', 'w') as f:
for t in zip(*yieldpergroup):
f.write("\t".join(map(str, t)) + "\n")
执行上述代码后,您的.txt
文件应如下所示:
A 1 !
B 2 @
C 3 #
D 4 $
推荐阅读
- dropbox-api - 使用 Dropzone 通过 upload_sessions 将文件上传到 Dropbox
- xslt - 使用 XSLT 1、2 或 3 根据两个元素的组合文本识别文件中的重复条目
- python - TypeError:“Styler”对象不可下标
- apache-kafka - 如何通知特定服务的扩展实例有关数据库的更改?
- python - Matplotlib:如何仅使用 NAN 值进行绘图?
- powershell - 如何将媒体图像作为格式图像 Powershell 复制到剪贴板
- php - 如何使用 PhpStorm 配置调试模式
- c# - 从 Visual Studio 在 Github.com 中打开一个文件
- css - 是否可以在不使用 CSS 中的媒体查询的情况下保持段落的宽度(桌面 - 移动)?
- python - 如何在django中重定向到另一个包含ID的页面