val ls_urban = List(("1", "a"), ("2", "a"), ("1", "c"), ("2", "a"), ("1", "c"))
val m_urban = groupById(ls_urban, Map())
assert(m_urban.getOrElse("1", Nil).count(_ == "c") == 2)
assert(m_urban.getOrElse("1", Nil).count(_ == "a") == 1)
assert(m_urban.getOrElse("2", Nil) == List("a", "a"))