Python 用于创建动态字符串的循环?
有人知道我在下面的代码中做错了什么吗Python 用于创建动态字符串的循环?,python,python-2.7,for-loop,Python,Python 2.7,For Loop,有人知道我在下面的代码中做错了什么吗 ZeroList = ["53", "52", "24", "26", "36", "37", "40", "41", "43", "44", "45"] for ZeroID in ZeroList: if row[ZeroID]: R+str(ZeroID) = float(row[ZeroID]) else: R+ZeroID = 0 执行以下输出: 将输出: 2392.118329 232.2983
ZeroList = ["53", "52", "24", "26", "36", "37", "40", "41", "43", "44", "45"]
for ZeroID in ZeroList:
if row[ZeroID]:
R+str(ZeroID) = float(row[ZeroID])
else:
R+ZeroID = 0
执行以下输出:
将输出:
2392.118329
232.298323
142.521513
我尝试了几个选项来尝试创建动态字符串,在上面的示例中,我尝试了两种方法
有什么想法吗
编辑
将数据保留在变量名称之外
使用字典存储项目,改为创建动态键:
results = {}
for ZeroID in ZeroList:
if row[ZeroID]:
results[R+str(ZeroID)] = float(row[ZeroID])
else:
results[R+str(ZeroID)] = 0
将数据保留在变量名称之外
使用字典存储项目,改为创建动态键:
results = {}
for ZeroID in ZeroList:
if row[ZeroID]:
results[R+str(ZeroID)] = float(row[ZeroID])
else:
results[R+str(ZeroID)] = 0
什么是
R
以及您想要的输出是什么?您是否试图创建动态变量?如果是这样,不要。改用字典。R+str(ZeroID)=float(row[ZeroID])
这部分是错误的。不应该让句子留下等号。什么是R
,您想要的输出是什么?您是否正在尝试创建动态变量?如果是这样,不要。改用字典。R+str(ZeroID)=float(row[ZeroID])
这部分是错误的。这个句子不应该留等号。我以后怎么调用我的数据呢?查看我的编辑我的编辑为什么不直接参考行索引row[ZeroID]=float(row[ZeroID])
,然后稍后打印row[53]
。@Hyflex:然后进行测试;测试行的长度。以后我应该如何调用我的数据?查看我的编辑我的编辑为什么不直接参考行索引row[ZeroID]=float(row[ZeroID])
,然后稍后打印row[53]
。@Hyflex:然后进行测试;测试行的长度。
results = {}
for ZeroID in ZeroList:
if row[ZeroID]:
results[R+str(ZeroID)] = float(row[ZeroID])
else:
results[R+str(ZeroID)] = 0