cc9542 2022-06-10 16:27 采纳率: 96.7%
浏览 13
已结题

python 列表操作 请问如果按照给定的序列排序列表

a = ['Lee', 'Bush', 'Danny', 'Juan', 'James', 'Liam']
b = [3, 2, 6, 4, 1, 5]
#正确输出
# ['James', 'Bush', 'Lee', 'Juan', 'Liam', 'Danny']
# ['Danny', 'Liam', 'Juan', 'Lee', 'Bush', 'James']
  • 写回答

2条回答 默认 最新

  • 不会写代码的猴子 优质创作者: 操作系统技术领域 2022-06-10 16:41
    关注
    a = ['Lee', 'Bush', 'Danny', 'Juan', 'James', 'Liam']
    b = [3, 2, 6, 4, 1, 5]
    dict_a = dict(zip(a, b))#合并list为字典
    dict_a1 = sorted(dict_a.items(), key=lambda x: x[1],reverse=False)#字典根据value升序
    l_a = [x for x,_ in dict_a1]#取元组列表的第一个元素为新的列表
    print(l_a)
    dict_a2 = sorted(dict_a.items(), key=lambda x: x[1],reverse=True)#字典根据value降序
    l_b = [x for x,_ in dict_a2]
    print(l_b)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月17日
  • 已采纳回答 6月17日
  • 创建了问题 6月10日