我經常想要在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', 'r', 't', 'h', 'l', 'z', 'y', 'd', 'g'],
True: ['e', 'u', 'i', 'o', 'o', 'u', 'o', 'e', '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]}
我一定是偏向惡補一切納入討論一行通過詢問「單線」。我只是將它改爲「python成語」,但當然,如果它真的很短,我不會抱怨。 –