Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中对元组列表进行分组_Python_List_Group By - Fatal编程技术网

如何在Python中对元组列表进行分组

如何在Python中对元组列表进行分组,python,list,group-by,Python,List,Group By,我有一张这样的清单 A= [(1,0,10),(1,10,20), (1,20,30), (2,5,25), (2,5,50), (2,50,100)] 我需要根据A中每个元组的第一个成员对它进行分组,然后是每个组的最小值和最大值。输出是这样的 B = [(1,0,30),(2,5,100)] 看起来你在找人写代码。如果您向我们展示您迄今为止所做的尝试,您将在这方面拥有更多的运气。谢谢@mtitan8的评论。无论如何,我张贴这意味着我找不到一个方法,迄今为止。 >>> fr

我有一张这样的清单

A= [(1,0,10),(1,10,20), (1,20,30), (2,5,25), (2,5,50), (2,50,100)]
我需要根据A中每个元组的第一个成员对它进行分组,然后是每个组的最小值和最大值。输出是这样的

B = [(1,0,30),(2,5,100)]

看起来你在找人写代码。如果您向我们展示您迄今为止所做的尝试,您将在这方面拥有更多的运气。谢谢@mtitan8的评论。无论如何,我张贴这意味着我找不到一个方法,迄今为止。
>>> from operator import itemgetter
>>> from itertools import groupby
def solve(lis):
    for k, g in groupby(lis, key=itemgetter(0)):
        lis = [y for x in g for y in x[1:]]
        yield (k, min(lis), max(lis))
...         
>>> list(solve(A))
[(1, 0, 30), (2, 5, 100)]