在元组列表中搜索元组的一部分

时间:2016-08-08 15:34:31

标签: python list tuples

我正在使用python中的数独求解器。方框的坐标由以下代码给出:

for row in range(1, 10):
    for column in range(1,10):
        boxes.append((row, column))

稍后,我有一个元组列表,格式为(行,列,框,数字)。我需要组织它们,使它们按照第一个列表的顺序排列。两者都是相同的长度,所以我可以通过查找较大列表中的每个(行,列)对来创建​​新列表。换句话说,对于项目(1,1),我想在另一个列表中找到一个元组,其中项目0为“1”,项目1为“1”。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

我认为这应该适用于找到(行,列)对:

entry = [e for e in tuple_list if (e[0] == row and e[1] == column)][0]

您最终会得到与(1,1)模式匹配的所有条目e的列表,然后使用[0]获取第一个条目。

在循环中使用它可以单独找到每个:

sorted_tuple_list = []
for row in range(1, 10):
    for column in range(1,10):
        entry = [e for e in tuple_list if (e[0] == row and e[1] == column)][0]
        sorted_tuple_list.append(entry)