我已经定义的(字符串,整数)对的列表。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