【发布时间】:2015-10-03 03:49:07
【问题描述】:
我有 3 个非常长的列表(长度为 15,000)。例如,这三个列表是:
A B C
0 2 3
0 4 5
0 3 3
1 2 6
1 3 5
0 2 7
1 8 8
我想获取所有那些 A 的对应索引为 0 的 B 和 C 值。例如,如果 A[i] == 0 那么我想将 B[i] 添加到 listB_0 和 C[i] 到listC_0.
我试过了
listB_0 = []
listC_0 = []
for a,b,c in zip(A,B,C):
if a == 0:
listB_0.append(B)
listC_0.append(C)
但这似乎使 Python 进入了一个永无止境的循环,即使 5 分钟后,我看到程序仍在运行。
我最终想要的是,例如 listA = 0 的 listB 和 listC 将是
listB_0 = [2,4,3,2]
listC_0 = [3,5,3,7]
实现这一目标的正确方法是什么?
【问题讨论】:
-
看起来您正在附加整个列表
B而不是元素b。 -
这也是我的猜测!!如何根据上述条件追加?
-
listB_0.append(b)和listC_0.append(c)
标签: python list for-loop append conditional-statements