回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我试图创建一个函数,它根据另一个分组字段从列表中计算唯一值。下面是我的示例数据,<code>listaa[i][0]</code>表示分组字段,<code>listaa[i][2]</code>是必须分组的数字</p>
<pre><code>listaa = [(u'2004-2006', 48600.0, 386011),
(u'2004-2006', 900.0, 385792),
(u'2004-2006', 16200.0, 385792),
(u'2004-2006', 11700.0, 385792),
(u'2004-2006', 900.0, 385792),
(u'2006-2008', 900.0, 386198),
(u'2006-2008', 39600.0, 385916),
(u'2006-2008', 4500.0, 385916),
(u'2006-2008', 900.0, 385916),
(u'2006-2008', 900.0, 385916),
(u'2008-2010', 11700.0, 386067)]
</code></pre>
<p>这是我的代码,它正在工作。我想知道是否有最简单的方法来做同样的事情</p>
<pre><code>fechas = list(set([f[0] for f in listaa]))
fechas.sort()
lista1 = []
lista2 = []
for fecha in fechas:
for l in listaa:
if l[0] == fecha:
lista1.append(l[2])
lista2.append(str(len(set(lista1))))
lista1 = []
print lista2
</code></pre>
<p>预期结果应该是:<code>["2", "2", "1"]</code></p>