2016-08-08 53 views
0

我正在研究python中的數獨求解器。盒子的座標是用這個編碼給出:搜索元組列表中的元組的一部分

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

後來,我在的(行,列,箱,數量)格式的元組的列表。我需要組織它們,以便它們按照第一個列表的順序排列。兩者都是相同的長度,所以我儘管可以通過查找較大列表中的每個(行,列)對來創建​​新列表。換句話說,對於項目(1,1),我想在項目0爲'1'和項目1爲'1'的另一個列表中找到一個元組。

我該怎麼做?

回答

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)