比较两个列表列表,每个元素列表的大小不相等

时间:2016-12-27 08:36:17

标签: python algorithm python-2.7 list nested-lists

我正在处理两个列表: L=[[1,2,3],[4,5,6],[7,8,9],[10,11,12]] A=[[1,2],[4,5]] 我想将L与A进行比较,以便将以下输出附加到单独的列表中K=[3,6] 该函数应该检查列表A的第一行,即[1,2],列表L的行的前两个元素即[1,2],如果它们相等,列表L中行的第三个元素将是存储在单独的列表中K.有人可以提供正常工作的代码,或者至少指出我正确的方向吗?

到目前为止,我已经提出了这个问题:

k=[]
for i in range(len(L)):
    if A[i][0]==l[i][0] and A[i][1]==L[i][1]:
        k.append(L[i][2])

我得到的错误是" IndexError:列表索引超出范围"

提前致谢! :)

1 个答案:

答案 0 :(得分:0)

这应该达到你想要的效果(使用len()有点麻烦,如果你的列表长度不同,你可能会遇到错误)

L=[[1,2,3],[4,5,6],[7,8,9],[10,11,12]]
A=[[7,8],[4,5]]
K=[]
for x in range(len(A)):
    for y in range(len(L)):
        if A[x] == L[y][:2]:
            K.append(L[y][2])
print K
out: [9, 6]