【发布时间】:2017-05-11 12:50:22
【问题描述】:
我有两个正在处理的列表:
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”
提前致谢! :)
【问题讨论】:
-
你能告诉我们你到目前为止的尝试吗?
-
另外,您的问题的当前版本中存在未定义的行为...例如,
L中的任何行可以匹配A中的任何行吗?作为替代方案,只有行L[i]可以匹配A[i],如果不能跳到A[i+1]。从您的示例和解释中并不清楚这一点。 -
k=[] for i in range(len(A)): for j in range(len(A)): if A[i][j]==L[i][j ] 和 A[i][j+1]==L[i][j+1]:打印 k k.append(L[i][j+2])
-
我得到的错误是“IndexError: list index out of range”。我知道 if 语句中的索引超出了范围。请提出一些建议。
-
L[2] 呢?应该搭配什么?
标签: python algorithm python-2.7 list nested-lists