按照参考数组对对象数组进行排序
创始人
2024-08-23 13:00:42
0

假设有一个由对象组成的数组以及一个参考数组,需要根据参考数组中元素的顺序对对象数组进行排序,步骤如下:

  1. 对参考数组进行去重:
reference_array = list(set(reference_array))
  1. 为对象数组中的每个对象添加一个序号属性,该属性的值在参考数组中的索引值加1(这里加1是为了与python中列表的索引值保持一致):
for obj in obj_array:
    obj.index = reference_array.index(obj.name) + 1
  1. 对对象数组进行排序:
sorted_array = sorted(obj_array, key=lambda obj: obj.index)

完整代码示例:

# define class for object
class Obj(object):
    def __init__(self, name):
        self.name = name

# initialize object and reference arrays
obj_array = [Obj('B'), Obj('C'), Obj('D'), Obj('A')]
reference_array = ['A', 'B', 'C', 'D', 'A']

# remove duplicates from reference array
reference_array = list(set(reference_array))

# add index to each object based on reference array
for obj in obj_array:
    obj.index = reference_array.index(obj.name) + 1

# sort object array based on index
sorted_array = sorted(obj_array, key=lambda obj: obj.index)

# print sorted object array
for obj in sorted_array:
    print(obj.name)

相关内容

热门资讯

黑科技科技(wepoke辅助插... 黑科技科技(wepoke辅助插件)wepoke真的有挂(wepoke)原来真的有挂(竟然有挂)-哔哩...
黑科技ai(wepoke智能a... 自定义系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助器,不管你是想分享给你好...
黑科技安卓版(wepokeai... 黑科技安卓版(wepokeai代打)wepoke辅助机器人(wepOkE)果然是有挂(有挂秘笈)-哔...
黑科技软件(wepoke智能a... 黑科技软件(wepoke智能ai)wopoker系统机制(wePoKe)一向是有挂(有挂猫腻)-哔哩...
黑科技中牌率(wepokeai... 黑科技中牌率(wepokeai代打)Wepoke辅助从哪里下载(WepoKe)本然真的是有挂(的确有...
黑科技存在(wepoke智能a... 黑科技存在(wepoke智能ai)wepoke系统(wEPOKE)最初是有挂(发现有挂)-哔哩哔哩关...
黑科技辅助挂(wepoke真的... 黑科技辅助挂(wepoke真的有挂)wopoker辅助真的假的(wEpOke)素来真的是有挂(确实有...
黑科技科技(wepoke辅助插... 黑科技科技(wepoke辅助插件)wepoke能赢嘛(wEpOke)原生有挂(新版有挂)-哔哩哔哩;...
黑科技系统(wepoke透明黑... 黑科技系统(wepoke透明黑科技)wepoke有吗(WepoKe)本然真的有挂(有挂细节)-哔哩哔...
黑科技辅助(wepoke辅助插... 黑科技辅助(wepoke辅助插件)wepokeai代打技巧(wepoke)最初存在有挂(确实有挂)-...