python - 在行迭代中迭代列数据
问题描述
我正在制作一个随机数循环,但也想循环另一个文件中已经可用的数据列。
简化示例:
out = /location/of/test.txt
file = open(out,'w')
var = [7,12,1,35,4]
for num in range(5):
a = randint(1,10)
file.write('%i ' % a)
b = randint(1,10)
file.write('%i ' % b)
file.write('\n')
我想要的结果是:
4 10 7
10 8 12
7 2 1
6 5 35
9 8 4
我的问题是,如何将我的 var 数组循环到我的代码中?
我试过类似的东西:
for num in range(5):
a = randint(1,10)
file.write('%i ' % a)
b = randint(1,10)
file.write('%i ' % b)
for c in var:
file.write('%i ' % c)
file.write('\n')
但结果将是:
4 10 7 12 1 35 4
10 8 7 12 1 35 4
7 2 7 12 1 35 4
6 5 7 12 1 35 4
9 8 7 12 1 35 4
我明白为什么会这样,我只是不知道如何遍历我的 var 以及生成的数字循环来创建我想要的格式。
解决方案
您不会num
在任何地方使用,因此只需直接迭代var
即可。我还建议您使用带有 f-strings 的with
子句open
并使用它们,这些在 Python 3.6+ 中可用:
out = 'test.txt'
var = [12,12,12,12,12]
a, b = 10, 11
with open(out, 'w') as fin:
for val in var:
fin.write(f'{a} {b} {val}\n')
输出:
10 11 12
10 11 12
10 11 12
10 11 12
10 11 12
推荐阅读
- flutter - Flutter - 在 AlertDialog 小部件之外点击后关闭系统键盘
- r - R:根据列过滤因子的行
- python - 如何在不创建无限循环的情况下导入用户定义的变量
- java - 将 JSON 响应插入数组
- laravel - 在 Laravel 中使用 npm run prod (Webpack) 的 CSS 加载器中的 ValidationError
- visual-studio - 为什么处理的异常仍然显示在控制台中以及如何完全抑制它们
- c++ - 为什么这个演员会失败?- 虚幻引擎 4
- javascript - Javascript单击HTML元素不起作用
- javascript - 如何在没有抗锯齿的情况下在画布上绘制像素字体
- angular - 图标未以页脚角度显示