我想以逐行方式打印三元組列表。該列表包含三元組,每個三元組的第一個元素應放置在作爲三元組的第二個和第三個元素給出的座標中。網格從(0,0)座標開始。下面 是一個2x2格例如:從三元組列表中打印2D網格
generateGrid [('a',0,0),('b',0,2),('c',1,1), ('d',2,2)]
-> a - b
- c -
- - d
我不得不產生這種功能的方法,但我不能把一切都放在代碼。 我試圖找到三元組中的最大數字,並通過增加的值創建網格。這樣我可以從(0,0)cooradinate開始。然後,我想遍歷所有三元組,並將第一個元素放入相關座標中。 我怎樣才能做到這一點?
下面是我的代碼:
gridMax ((p1, p2, p3):xs) = max (maximum(secList ((p1, p2, p3):xs))) (maximum(thirdList ((p1, p2, p3):xs)))
secList [] = []
secList ((p1, p2, p3):xs) = [p2] ++ secList xs
thirdList [] = []
thirdList ((p1, p2, p3):xs) = [p3] ++ thirdList xs
這種方式,我發現,這意味着我應該創建一個(最大+ 1)×電網的最大(MAX + 1)電網從(0,0) 。我無法獲得代碼的其餘部分。
您如何向我們展示您設法在代碼中放置了什麼? - 至於算法...我會做一個排序組交錯空間接近。不需要知道三元組的總數。 – leftaroundabout
我編輯了我的問題並分享了我的一些工作。 – nudaStck
我並不重複,因爲你的問題至少是連貫的,但有一天有人問了一個類似的問題,我提供了一些提示。 http://stackoverflow.com/questions/22997734/print-function-drawf-from-a-list-of-tuples/22998207 – bheklilr