【发布时间】:2016-11-28 15:53:56
【问题描述】:
在给定的数据集中,我需要将来自不同块的值相乘。
我想在 for 循环中注入 break-continue,但到目前为止我看到的示例并没有多大帮助。实际上,这些数据只是大数据的一部分,所以我需要解释一下为什么 break-continue 起作用。
So,for X(set) I have to multiply: 0.25*0.1*0.83 (since they belong to same block
block X_set
2480 0.25
2480 0.1
2480 0.083
2651 0.43
2651 0.11
2651 0.23
我的代码如下:
test_q = open("test_question.txt", "r+")
header = test_q.readline()
data_q = test_q.read().rstrip("\n")
product=1.0
value_list = []
row = data_q.split("\n")
for line in row:
block = line.split("\t")
X_list = block[1].split()
X_value = float(block[1])
value_list = value_list + X_list
product = product*X_value
print(value_list)
print(product)
结果是:
['0.25', '0.1', '0.083', '0.43', '0.11', '0.23']
2.2573925000000003e-05
但是,在我想要的印刷品中
['0.25', '0.1', '0.083']
0.0002075
['0.43', '0.11', '0.23']
0.010879
那么,如何在这个 for 循环中注入 break 和 continue 函数?
我不想为块使用固定值,因为这是一个长文件,并且块值会改变。
另外,具有相同块值的行可能不相邻。
另外,我不需要处理 pandas,因为这只是使用 for-if-else 循环独家挖掘的大文件的一部分。
非常感谢!
【问题讨论】:
标签: python if-statement for-loop break continue