Python: split a list based on a condition?

前端 未结 30 2569
误落风尘
误落风尘 2020-11-22 06:56

What\'s the best way, both aesthetically and from a performance perspective, to split a list of items into multiple lists based on a conditional? The equivalent of:

30条回答
  •  天命终不由人
    2020-11-22 07:08

    If you insist on clever, you could take Winden's solution and just a bit spurious cleverness:

    def splay(l, f, d=None):
      d = d or {}
      for x in l: d.setdefault(f(x), []).append(x)
      return d
    

提交回复
热议问题