比较两个列表列表,每个元素列表的大小不相等
comparing two list of lists with unequal size of each element list
我正在处理两个列表列表:
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: list index out of range"
提前致谢! :)
这应该可以达到您的要求(使用 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]
我正在处理两个列表列表:
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: list index out of range"
提前致谢! :)
这应该可以达到您的要求(使用 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]