use*_*391 2 python tuples python-itertools
我有一组表格中的数据:
X1 = [(1,1),(3,1),(5,0),(3,0),(2,1)]
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚如何将它们分组,以便:
X2 = [[(1,1),(3,1)],[(5,0),(3,0)],[(2,1)]]
Run Code Online (Sandbox Code Playgroud)
即,它们按照每个元组中的第二个值以连续方式分组.
我知道这是这样的:
http://docs.python.org/2/library/itertools.html#itertools.groupby
from itertools import groupby
from operator import itemgetter
X2 = [list(group) for key, group in groupby(X1, itemgetter(1))]
Run Code Online (Sandbox Code Playgroud)
传递一个key函数来groupby获取每个元组的第二个项目,因此groupby将元组按其第二个项目分组.