【问题标题】:Iterate through a file and an array simultaneously python for loop同时遍历一个文件和一个数组 python for 循环
【发布时间】:2013-06-30 05:57:57
【问题描述】:

我正在尝试遍历文件并向其中添加一个新列,而不是使用两个并发 for 循环在文件中存在的列。但我不知道如何迭代数组部分。

我有一个数组 aa=[1,2,3,4,5] 我的文件是:

I   a   0
II   b   0
III   c   0
IV   d   0
V   f   0

我想要这样:

I   a   1
II   b   2
III   c   3
IV   d   4
V   f   5 

我试过python代码:

cmg=[1,2,3,4,5]
fh=open("plink5.map",'r')
fhnew=open("plink5.out",'w+')
for line,i in zip(fh,(0,len(cmg)-1,1)):
    line=line.strip('\n')
    aa=line.split('\t')
    aanew=str(aa[0])+"\t"+str(aa[1])+"\t"+str(cmg[i])
    print(aanew)
   fhnew.write(aanew)
fh.close()
fhnew.close()

我在数组迭代部分出错

【问题讨论】:

  • 你为什么不在你的 for 循环中使用一个变量 arrayIndex,你每次手动递增?
  • @rob:我试过了。但是数组的第一个值只是被附加了
  • 其实是我的错。我在for循环中初始化了arrayindex。所以每次第一个值被存储。我现在修好了。谢谢你的时间先生

标签: python arrays file for-loop


【解决方案1】:

你想要做的是:

for line,i in zip(fh,range((0,len(cmg)  ,1))):
                     ^^^^^            ^^

但更容易的是:

for line,x in zip(fh, cmg):

【讨论】:

  • 谢谢。我试图遍历数组而不是这样取值!谢谢楼主
  • 还有一个疑问,先生。在将浮点值写入文件时,我使用 e 符号(例如 8.9+e05 而不是 0.000089)进行了四舍五入。我如何在文件中获取这个长格式的浮点值??
  • @Vignesh 这听起来像是一个新问题!
猜你喜欢
  • 1970-01-01
  • 2021-11-25
  • 2013-11-06
  • 2021-12-09
  • 2012-04-14
  • 1970-01-01
  • 1970-01-01
  • 2023-03-19
  • 1970-01-01
相关资源
最近更新 更多