擅长:python、mysql、java
<p>下面是一个使用<code>groupby</code>的行程序:</p>
<pre><code>from itertools import groupby
sandwiches = [["bacon", "banana"], ["ham", "salami", "cheese"]]
preferences = ["salami", 999, "bacon", 5, "ham", -2, "banana", 1000]
l = [(v, sum(i[-1] for i in g)) for v, g in groupby(((sandwich, preferences[preferences.index(p)+1]) for sandwich, prefs in zip(sandwiches, [preferences[::2]] * len(sandwiches)) for p in prefs if p in sandwich), key=lambda v: v[0])]
print(l)
</code></pre>
<p>印刷品:</p>
^{pr2}$
<p>三明治<code>['bacon', 'banana']</code>:培根5分,香蕉1000分,三明治得分1005分</p>
<p>对于三明治<code>['ham', 'salami', 'cheese']</code>:火腿是-2,萨拉米是999,桑威奇分数是997</p>