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

shu*_*ash 3 python sorting list

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

a= [june,32,may,67,april,1,dec,99]
Run Code Online (Sandbox Code Playgroud)

我想按降序排序数字,但它应显示相应的对:

Output Expected
----------------
dec,99,may,67,june,32,april,1
Run Code Online (Sandbox Code Playgroud)

我尝试使用a.sort(reverse=True)列表中的命令排序而不是获得预期的输出,这个令人困惑很多.

jpp*_*jpp 5

您可以使用元组列表:

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')]
Run Code Online (Sandbox Code Playgroud)

如果您需要展平,请使用itertools.chain:

from itertools import chain

res = list(chain.from_iterable(res))

['dec', '99', 'may', '67', 'june', '32', 'april', '01']
Run Code Online (Sandbox Code Playgroud)