微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将项目分组到存储桶的简单方法

如何解决将项目分组到存储桶的简单方法

但据我所知,没有什么标准库。虽然我很惊讶,几个星期在之前accumulate,所以谁知道这些天潜伏在哪里?:^)

当我需要这种行为时,我会使用

from collections import defaultdict

def partition(seq, key):
    d = defaultdict(list)
    for x in seq:
        d[key(x)].append(x)
    return d

并继续我的一天。

解决方法

我经常想在python中存储无序集合。itertools.groubpy做正确的事情,但几乎总是需要按摩以首先对项目进行排序并在迭代器被使用之前捕获它们。

是否可以通过标准python模块或简单的python习惯用法来获得此行为的快速方法?

>>> bucket('thequickbrownfoxjumpsoverthelazydog',lambda x: x in 'aeiou')
{False: ['t','h','q','c','k','b','r','w','n','f','x','j','m','p','s','v','t','l','z','y','d','g'],True: ['e','u','i','o','e','a','o']}
>>> bucket(xrange(21),lambda x: x % 10)
{0: [0,10,20],1: [1,11],2: [2,12],3: [3,13],4: [4,14],5: [5,15],6: [6,16],7: [7,17],8: [8,18],9: [9,19]}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。