Python 在循环某些输入数据之后,循环并编辑列表中的项目
为什么我只能得到[-1.0,0.0,1.0,2.0,3.0],而不是 [0.0,1.0,2.0,3.0,4.0] [-2.0,-1.0,0.0,1.0,2.0] [-1.0,0.0,1.0,2.0,3.0],谢谢Python 在循环某些输入数据之后,循环并编辑列表中的项目,python,Python,为什么我只能得到[-1.0,0.0,1.0,2.0,3.0],而不是 [0.0,1.0,2.0,3.0,4.0] [-2.0,-1.0,0.0,1.0,2.0] [-1.0,0.0,1.0,2.0,3.0],谢谢 V = [1,2,3,4,5] f = open('Qin.txt') # values in Qin.txt: 1 for line in iter(f): 3 Z = float(lin
V = [1,2,3,4,5]
f = open('Qin.txt') # values in Qin.txt: 1
for line in iter(f): 3
Z = float(line) 2
c = []
for i in range(len(V)):
c.append(V[i]-Z)
print c
当你发帖时,有些事情搞砸了 我猜你有这个:
V = [1,2,3,4,5]
f = open('Qin.txt') # values in Qin.txt: 1
for line in iter(f): 3
Z = float(line) 2
c = []
for i in range(len(V)):
c.append(V[i]-Z)
print c
因此,外部循环完成后,print c
只调用一次
当您希望在每个内部循环完成后打印c时:
V = [1,2,3,4,5]
f = open('Qin.txt') # values in Qin.txt: 1
for line in iter(f): 3
Z = float(line) 2
c = []
for i in range(len(V)):
c.append(V[i]-Z)
print c
我不确定这段代码的上下文,但是您可以通过删除
iter()
(文件对象已经是iterable)和范围(len(V))
来简化代码片段:
通过使用列表理解构建列表c
,并直接打印,可以进一步减少这种情况:
f = open('Qin.txt')
for line in f:
Z = float(line)
print [i-Z for i in range(1, 6)]
f = open('Qin.txt')
for line in f:
Z = float(line)
print [i-Z for i in range(1, 6)]