我有一个包含以下内容的列表
a= [june,32,may,67,april,1,dec,99]
我想按降序排序数字
但它应显示相应的对:
Output Expected
----------------
dec,99,may,67,june,32,april,1
我试图在列表中使用a.sort(reverse = True)命令排序而没有得到预期的输出,这个令人困惑很多.
最佳答案 您可以使用元组列表:
a = ['june', '32', 'may', '67', 'april', '01', 'dec', '99']
zipper = zip(a[::2], a[1::2])
res = sorted(zipper, key=lambda x: -int(x[1])) # or, int(x[1]) with reverse=True
print(res)
[('dec', '99'), ('may', '67'), ('june', '32'), ('april', '01')]
如果需要展平,请使用itertools.chain:
from itertools import chain
res = list(chain.from_iterable(res))
['dec', '99', 'may', '67', 'june', '32', 'april', '01']