我已經定義的(字符串,整數)對的列表。Haskell的添加元素到元組/列表,以便
type PatientList = [(String,Int)]
我需要後,3個增加將數據添加到這個列表的形式「名」和「數量」,其中數量將因每個除了列表中增加,例如列表(或元組)會看像:
[("bob", 1), ("ted", 2), ("harry", 3)]
名稱將使用下面的代碼被捕獲:
do putStr "You are? "
name <- getLine
我目前的解決方案是創建名稱如清單(BOB,泰德,哈利),然後用ZIP,如下組合這些列表:
zip = [1...]["bob","ted","harry"]
該解決方案不能滿足我的要求,我想在不同的時間添加到列表中,而不是結合在了一起。我怎樣才能做到這一點?
如果效率ISN如果您不關心(或者列表不多),您可以使用「長度患者」來了解接下來的數字。如果需要考慮效率,請使用不同的數據結構來存儲大小並且更快地追加/更新。 – 2013-03-18 13:01:46
是否有一個很好的理由,包括在列表中的號碼?看起來你可以在需要的時候用'[1 ..]'來壓縮它們。 – 2013-03-18 13:03:54
例如,如果我從列表中刪除的元素,即數不能被再次上再壓縮和解使用。 – ZeeeeeV 2013-03-18 13:13:48