Python 如何制作一个新的函数来收集结果? 我想制作一个新的列表:s=[a的总和]类似于r_gr的[14,0,14]顺序 r=[“r_gr”]类似于[1,2,3] 和e=[第一个“e”的数字]类似于[1,1,2,1,1,2]

Python 如何制作一个新的函数来收集结果? 我想制作一个新的列表:s=[a的总和]类似于r_gr的[14,0,14]顺序 r=[“r_gr”]类似于[1,2,3] 和e=[第一个“e”的数字]类似于[1,1,2,1,1,2],python,list,Python,List,我会使用熊猫图书馆,因为如果你把它们放在一张桌子上,它们看起来很容易解决: t = [{"a" :11, "r_gr" :1, "gn":"F", "e" :18}, {"a" :13, "r_gr" :3, "gn":"M", "e" :19}, {"a" :1, "r_gr" :3, "gn":"M", "e" :29}, {"a" :0, "r_gr" :2, "gn":"F", "e" :18}, {"a" :0, "r_gr" :2,

我会使用熊猫图书馆,因为如果你把它们放在一张桌子上,它们看起来很容易解决:

 t = [{"a" :11, "r_gr" :1, "gn":"F", "e" :18},
      {"a" :13, "r_gr" :3, "gn":"M", "e" :19},
      {"a" :1, "r_gr" :3, "gn":"M", "e" :29},
      {"a" :0, "r_gr" :2, "gn":"F", "e" :18},
      {"a" :0, "r_gr" :2, "gn":"M", "e" :18},
      {"a" :3, "r_gr" :1, "gn":"F", "e" :25}]

我会使用熊猫图书馆,因为如果你把它们放在一张桌子上,它们看起来很容易解决:

 t = [{"a" :11, "r_gr" :1, "gn":"F", "e" :18},
      {"a" :13, "r_gr" :3, "gn":"M", "e" :19},
      {"a" :1, "r_gr" :3, "gn":"M", "e" :29},
      {"a" :0, "r_gr" :2, "gn":"F", "e" :18},
      {"a" :0, "r_gr" :2, "gn":"M", "e" :18},
      {"a" :3, "r_gr" :1, "gn":"F", "e" :25}]

或者使用
itertools
(内置软件包)和一些列表理解(我建议采用这种方式):

输出:

import itertools
t.sort(key=lambda x: x['r_gr'])
a = [sum(int(item['a']) for item in group) for key, group in itertools.groupby(t, key=lambda x: x['r_gr'])]
r_gr = sorted(set([i['r_gr'] for i in t]),key=[i['r_gr'] for i in t].index)
e = [int(str(i)[0]) for i in [x['e'] for x in t]]
print(a)
print(r_gr)
print(e)

或者使用
itertools
(内置软件包)和一些列表理解(我建议采用这种方式):

输出:

import itertools
t.sort(key=lambda x: x['r_gr'])
a = [sum(int(item['a']) for item in group) for key, group in itertools.groupby(t, key=lambda x: x['r_gr'])]
r_gr = sorted(set([i['r_gr'] for i in t]),key=[i['r_gr'] for i in t].index)
e = [int(str(i)[0]) for i in [x['e'] for x in t]]
print(a)
print(r_gr)
print(e)

谢谢。没有熊猫,我怎么能做到呢?非常感谢。没有熊猫,我怎么能做到?