<p>你可以试试这个:</p>
<pre><code>import re
import itertools
def orderdates(full_date):
table = {"January": "Ian", "February": "Feb", "March": "Mar", "April": "Apr", "May": "Mai", "June": "Iun", "July": "Iul", "August": "Aug", "September": "Sept", "October": "Oct", "November": "Nov", "December": "Dec"}
l = ["Ian", "Feb", "Mar", "Apr", "Mai", "Iun", "Iul", "Aug", "Sept", "Oct", "Nov", "Dec"]
new_dates = re.split(",\s", full_date)
final_dates = [[a, int(b)] for a, b in [i.split() for i in new_dates]]
new_dates = sorted(final_dates, key = lambda x: x[-1])
current = [list(b) for a, b in itertools.groupby(new_dates, lambda x: x[-1])]
new_current = [[table[i]+" "+str(b) for i, b in c] for c in current]
final_current = [sorted(b, key= lambda x:l.index(x.split()[0])) for b in new_current]
return list(itertools.chain.from_iterable(final_current))
mylist = [[1890731350060, 'January 2016, February 2016, March 2015', 'INDEMNIZATIA DE HRANA', 1183], [1890922350110, 'May 2015, June 2015, April 2015', 'INDEMNIZATIA DE HRANA', 1183], [1890731350060, 'February 2016, March 2016, January 2016', 'INDEMNIZATIA DE HRANA', 1183]]
new_data = [[i[0], orderdates(i[1]), i[2:]] for i in mylist]
new_data = [list(itertools.chain(*[[b] if not isinstance(b, list) else b for b in i])) for i in new_data]
print(new_data)
</code></pre>
<p>输出:</p>
<pre><code>[[1890731350060, 'Mar 2015', 'Ian 2016', 'Feb 2016', 'INDEMNIZATIA DE HRANA', 1183], [1890922350110, 'Apr 2015', 'Mai 2015', 'Iun 2015', 'INDEMNIZATIA DE HRANA', 1183], [1890731350060, 'Ian 2016', 'Feb 2016', 'Mar 2016', 'INDEMNIZATIA DE HRANA', 1183]]
</code></pre>