【发布时间】:2015-07-24 20:22:44
【问题描述】:
我有
expected_values =
[[name, 4, 8, 3]
[name, 2, 6, 9]
[name, 3, 6, 2]]
我想做一些类似于将第二个值除以第一个值,然后将其乘以 3,然后将该值附加到列表末尾的操作。所以最终产品看起来像
expected_values =
[[name, 4, 8, 3, 6]
[name, 2, 6, 9, 9]
[name, 3, 6, 2, 6]]
到目前为止我所拥有的是
for name in range(0,len(expected_values)):
total = 0
pa = expected_values[name][1]
pa = int(pa)
for s in range(0,len(expected_values)):
singles = expected_values[s][2]
singles = int(singles)
total = total + ((singles/pa)*3)
expected_values.append(total)
我在那里有 int(pa),因为它是从 CSV 文件导入的,显然它将所有内容都作为字符串导入,所以我必须将其转换为对其进行任何数学运算。
我对 Python 很陌生——这是作为一个暑期项目来学习这门语言的——而且我对列表中的列表索引有点不稳定,尤其是在这些循环中。
【问题讨论】:
-
这不是一个重复的问题或任何东西,但请仔细阅读:stackoverflow.com/questions/19184335/…
-
我原来是这样写的,看了别人的代码例子,但是这样写对我来说更直观。说“for name in expected_values:”之类的话让我有点困惑。我会在它实际工作后尝试重写它。不过谢谢你的链接,我会保存它。
-
查看此行
expected_values.append(total)。您正在追加到外部列表,但实际上您想追加到您正在处理的任何内部列表expected_values[name].append(total) -
当您说“乘以 3”时,您的意思是将结果乘以 3 还是乘以第三个元素?
-
我的意思是将结果乘以 3,如示例中所示。抱歉打错了。
标签: python