使用Python根据一个列表的顺序对其他列表进行排序

 更新时间:2023年10月31日 10:00:16   作者:大彤小忆  
这篇文章主要介绍了使用Python根据一个列表的顺序对其他列表进行排序,根据列表B中每个元素的下标来获取列表A中对应位置的元素,将其作为排序依据即可,需要的朋友可以参考下

使用Python根据一个列表的顺序对其他列表进行排序

在Python中如果需要根据列表A对列表B进行排序的问题时有以下2种方法:

方法1: 根据列表B中每个元素的下标来获取列表A中对应位置的元素,将其作为排序依据即可。

a = [1, 5, 2, 6, 7]
b = [6, 3, 9, 5, 0]

# sort list b by list a
sorted_b = sorted(b, key=lambda x: a[b.index(x)])
print(sorted_b)

打印结果

[6, 9, 3, 5, 0]

方法2:zip函数将两个列表打包,根据A排序,再解包即可。

与方法1的区别在于方法2对A、B都进行了排序。

a = [1, 5, 2, 6, 7]
b = [6, 3, 9, 5, 0]

zip_a_b = zip(a, b)
sorted_zip = sorted(zip_a_b, key=lambda x:x[0])
sorted_a, sorted_b = zip(*sorted_zip)

print(list(sorted_a))
print(list(sorted_b))

打印结果

[1, 2, 5, 6, 7]

[6, 9, 3, 5, 0]

第二种方法也可以根据列表A对列表B和C进行排序,如下所示。

a = [1, 5, 2, 6, 7]
b = [6, 3, 9, 5, 0]
c = [3, 1, 4, 5, 7]

zip_a_b_c = zip(a, b, c)
sorted_zip = sorted(zip_a_b_c, key=lambda x: x[0])
sorted_a, sorted_b, sorted_c = zip(*sorted_zip)

print(list(sorted_a))
print(list(sorted_b))
print(list(sorted_c))

打印结果

[1, 2, 5, 6, 7]

[6, 9, 3, 5, 0]

[3, 4, 1, 5, 7]

到此这篇关于使用Python根据一个列表的顺序对其他列表进行排序的文章就介绍到这了,更多相关Python列表排序内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 解析django的csrf跨站请求伪造

    解析django的csrf跨站请求伪造

    本文主要介绍了解析django的csrf跨站请求伪造,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • 详解python tkinter 图片插入问题

    详解python tkinter 图片插入问题

    这篇文章主要介绍了详解python tkinter 图片插入问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Python利用PyMuPDF实现PDF文件处理

    Python利用PyMuPDF实现PDF文件处理

    PyMuPDF是MuPDF的Python绑定-“轻量级PDF和XPS查看器”。本文将利用PyMuPDF实现PDF的一些基本操作,文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-05-05
  • Django细致讲解多对多使用through自定义中间表方法

    Django细致讲解多对多使用through自定义中间表方法

    我们在开发网站的时候,无可避免的需要设计实现网站的用户系统,我们需要实现包括用户注册、用户登录、用户认证、注销等功能,Django作为完美主义终极框架,它默认使用auth_user表来存储用户数据,下面我们来看看Django多对多使用through自定义中间表
    2022-06-06
  • Python reversed函数及使用方法解析

    Python reversed函数及使用方法解析

    这篇文章主要介绍了Python reversed函数及使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • Python实现模拟登录网易邮箱的方法示例

    Python实现模拟登录网易邮箱的方法示例

    这篇文章主要介绍了Python实现模拟登录网易邮箱的方法,结合实例形式分析了Python基于urllib2及cookielib模块的http请求、数据传输及交互相关操作技巧,需要的朋友可以参考下
    2018-07-07
  • django 微信网页授权登陆的实现

    django 微信网页授权登陆的实现

    这篇文章主要介绍了django 微信网页授权登陆的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • python实现海螺图片的方法示例

    python实现海螺图片的方法示例

    这篇文章主要介绍了python实现海螺图片的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • python Opencv实现停车位识别思路详解

    python Opencv实现停车位识别思路详解

    这篇文章主要介绍了Opencv实现停车位识别,本文通过示例代码场景分析给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • pytorch masked_fill报错的解决

    pytorch masked_fill报错的解决

    今天小编就为大家分享一篇pytorch masked_fill报错的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02

最新评论