我有10个项目的清单,还有另一个10个随机未重复的数字的清单,如下所示:
l = [a,b,c,d,e,f,g,h,i,j]
m = [1,4,5,9,2,6,3,7,8,10]
我想重新排列l
,以便其中的每个项目都l
从中获取其相应的索引m
。
例如,b
应该成为第四,e
充满灵魂的成为第二。
我真的被算法和逻辑困扰,所以我对如何处理这个问题一无所知。
我怎样才能做到这一点?
如果您只是想让元素根据其他列表的位置四处移动,则可以遍历其中的所有元素,m
并l
使用列表理解来获取该元素
l2 = [l[i - 1] for i in m]
但是,如果您确实希望基于其他列表进行排序,则需要将它们压缩在一起,对索引进行排序,然后提取元素
[y for x,y in sorted(zip(m,l))]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句