首页 > 编程语言 > 详细

python 列表根据另一个列表重排序(python list rearrange according to another list)

时间:2021-03-15 19:26:38      阅读:195      评论:0      收藏:0      [点我收藏+]

 

已知有列表 a,想要实现列表 a 根据另一个列表 order 的值进行排序,或者说实现列表根据两一个列表值重排序,实现方法有两种:

方法1:

In [66]: a                                                                      
Out[66]: [array([1, 0, 3, 2, 4, 5]), array([4, 1, 2, 3, 5, 0]), array([0, 0, 0])]

In [67]: order                                                                  
Out[67]: [2, 0, 1]

In [68]: [a[i] for i in order]                                                  
Out[68]: [array([0, 0, 0]), array([1, 0, 3, 2, 4, 5]), array([4, 1, 2, 3, 5, 0])]

方法2:

In [76]: a                                                                                                                                                              
Out[76]: [array([1, 0, 3, 2, 4, 5]), array([4, 1, 2, 3, 5, 0]), array([0, 0, 0])]

In [77]: order                                                                                                                                                          
Out[77]: [2, 0, 1]

In [78]: list(np.array(a, dtype=object)[order])                                                                                                                         
Out[78]: [array([0, 0, 0]), array([1, 0, 3, 2, 4, 5]), array([4, 1, 2, 3, 5, 0])]

参考资料:https://stackoverflow.com/questions/2177590/how-can-i-reorder-a-list

 

python 列表根据另一个列表重排序(python list rearrange according to another list)

原文:https://www.cnblogs.com/ttweixiao-IT-program/p/14537455.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!