擅长:python、mysql、java
<pre><code>from collections import Counter
list(zip(*Counter(list(zip(*set(zip(*zip(*a)))))[1]).items()))
Out[54]: [('2019-10-11', '2019-10-10', '2019-10-12', '2019-10-14'), (4, 2, 1, 1)]
</code></pre>
<p>这可以简化为:</p>
<pre><code>list(zip(*Counter([j for _, j in set([tuple(i) for i in a])]).items()))
[('2019-10-11', '2019-10-10', '2019-10-12', '2019-10-14'), (4, 2, 1, 1)]
</code></pre>
<p>不导入模块的另一种方法:</p>
<pre><code>b = set(zip(*zip(*a)))
d = {}
for name,date in b:
d[date] = d.get(date,0)+1
list(zip(*d.items()))
[('2019-10-11', '2019-10-10', '2019-10-12', '2019-10-14'), (4, 2, 1, 1)]
</code></pre>
<p>如果需要列表的排序列表,可以执行以下操作:</p>
<pre><code>[list(i) for i in zip(*sorted(d.items(),key=lambda x:x[0]))]
Out[112]: [['2019-10-10', '2019-10-11', '2019-10-12', '2019-10-14'], [2, 4, 1, 1]]
</code></pre>