python列表 元祖 排序 怎样以第一行列表中的元祖中的列表中的第二个元素(就是第二个数字)降序排

python列表 元祖 排序 怎样以第一行列表中的元祖中的列表中的第二个元素(就是第二个数字)降序排序?? 现在第二行输出的是以第一个数字降序排序的 我想要以第二个数字排序,但还是这个格式输出。

把你现在的源码贴到代码框里。

如下:

print("city   GDP     person")
dic={'Suqian':[3099.2,493.79],'Suzhou':[19235.8,1074.99],'Nanjing':[14030.2, 850.55],'Wuxi':[11852.3, 659.15],
'Nantong':[9383.4, 731.8],'Changzhou':[7400.9, 473.6],'Xuzhou':[7151.4, 882.56],
'Yangzhou':[5850.1, 454.9],'Yancheng':[5702.3, 720.89],'Taizhou':[5133.4, 463.61],
'Zhenjiang':[4127.3, 320.35],'Huaian':[3871.2, 493.26],'Lianyungang':[3139.3, 451.1],}
List=[(v,k)for v,k in dic.items()]
List.sort(key=lambda x:x[1][1],reverse=True)
names=[item[0] for item in List]
numbers=[item[1] for item in List]
for i in range(len(List)):
    print("{} {}".format(names[i],numbers[i]))

 

print("city   GDP     person")
dic={'Suqian':[3099.2,493.79],'Suzhou':[19235.8,1074.99],'Nanjing':[14030.2, 850.55],'Wuxi':[11852.3, 659.15],
'Nantong':[9383.4, 731.8],'Changzhou':[7400.9, 473.6],'Xuzhou':[7151.4, 882.56],
'Yangzhou':[5850.1, 454.9],'Yancheng':[5702.3, 720.89],'Taizhou':[5133.4, 463.61],
'Zhenjiang':[4127.3, 320.35],'Huaian':[3871.2, 493.26],'Lianyungang':[3139.3, 451.1],}
List=[(v,k)for v,k in dic.items()]
List.sort(key=lambda x:x[1],reverse=True)
names=[item[0] for item in List]
numbers=[item[1] for item in List]
for i in range(len(List)):
    print("{} {}".format(names[i],numbers[i]))