仅使用对应的对对python中的特定索引进行排序

我有一个包含以下内容的列表

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']
点赞