使用itertools.groupby对属性进行分组

Pet*_*art 2 python

我有一个'染色体'类的实例列表.

该列表按染色体属性'方程'排序

我现在想要删除属性'equation'相同的实例,只留下一个.

我不知道如何传递密钥,即?,以便它在'方程'上分组.

b = [a for a,b in groupby(list, ?)]
Run Code Online (Sandbox Code Playgroud)

Ale*_*lli 7

import operator

[a for a, b in groupby(thelist, operator.attrgetter('equation')]
Run Code Online (Sandbox Code Playgroud)

顺便说一句,不要使用内建类型的名称(如list,file等),为自己的标识符,这是一个令人困惑和最佳实践避免,除非你戒掉自己离开它(即有一天你会最终将字节你特有的错误维护你的代码,并发现你自己list(sometuple)用来制作一些元组中的列表等等......如果你曾经list意味着与list这个范围不同的东西,那就会得到奇怪的错误! - ).