按照参考数组对对象数组进行排序
创始人
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)wep... 透视工具(wepOke)wepoke怎么来好牌(透视)详细辅助新2025教程;《WPK辅助透视》‌:...
透视实锤!wpk透视脚本链接(... 透视实锤!wpk透视脚本链接(透视)详细辅助力荐教程(真是真的有挂)在进入wpk透视脚本链接辅助挂后...
透视美元局!wepower辅助... 透视美元局!wepower辅助器,wopoker辅助,详细透视分享教程1)wepower辅助器辅助挂...
透视黑科技(wepoke)德扑... 透视黑科技(wepoke)德扑ai智能机器人线上代打(透视)详细辅助2025教程;玩家必备必赢加哟《...
透视好友!wpk俱乐部辅助器(... 透视好友!wpk俱乐部辅助器(透视)竟然存在有挂(详细辅助解密教程);1分钟了解详细教程(微信 13...
透视存在!wepoker辅助器... 透视存在!wepoker辅助器是真的的吗(透视)详细辅助黑科技教程(一直存在有挂)1、每一步都需要思...
透视最新!wepoke辅助插件... 透视最新!wepoke辅助插件,wepoke能赢嘛,详细透视大神讲解wepoke辅助插件辅助器中分为...
透视安装!wepoker辅助透... 透视安装!wepoker辅助透视软件(透视)原生是有挂(详细辅助科技教程);小薇(透视辅助)致您一封...
透视系统(wePOke)wep... 您好,wepoke软件透明下载渠道这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302...
透视挂透视!红龙poker作弊... 透视挂透视!红龙poker作弊指令(透视)详细辅助黑科技教程(其实真的是有挂);1、让任何用户在无需...