【发布时间】:2020-06-01 19:04:38
【问题描述】:
我有 4 个列表,其中 2 个具有一对一关联,我使用另外两个来施加条件。 A 列表只是事物的列表,而 B 是与 A 中的每个元素相关联的“概率”列表。例如,A 中的第一个元素 [a, b] 与 B 中的第一个元素相关联,[ 0.12]。
A=[[a, b], [c, f], [g, m], [h, j], [c, f], [g, m]]
B=[[0.12], [0.45], [0.98], [0.56], [0.34], [0.78]]
第三和第四个列表(C,D)是作为休闲,
C=[[c, f], [g, m]]
D=[[[a, b], [h, j]]
我想遍历 A 以找到 A 和 C 之间的所有公共元素并将它们放入 E 中的嵌套列表中,并对 A 和 D 执行相同的操作(并将它们放入 E 中的另一个列表中)。同样,将相关概率总结到 F 中的嵌套列表中。我制定的代码是休闲的,
E=[[ ], [ ]]
F=[[0], [0]]
for i in A:
if i in C:
E[0].append(i)
F[0]= F[0]+ B[i]
for i in A:
if i in D:
E[1].append(i)
F[1]= F[1]+B[i]
这给出了“索引必须是整数,而不是列表”的错误。我不确定到底是什么问题,或者是否有更好的整体方法来解决概率问题,但我很感激一些帮助/建议。
【问题讨论】:
-
是
AA=[[a, b], [c, f], [g, m], [h, j], [c, f], [g, m]]或A=[['a', 'b'], ['c', 'f'], ...]??它像你在问题中显示的那样工作吗?? -
为什么是
D这个 -D=[[['a', 'b'], ['h', 'j']]???您的问题中有 1 个额外的开括号 - 语法错误