按照参考数组对对象数组进行排序
创始人
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)

相关内容

热门资讯

aapoker是正规的吗!AA... aapoker是正规的吗!AApoker辅助工具,(AApOKER)本来有挂,安装教程(黑科技透明)...
微扑克辅助测试!微扑克代打是真... 微扑克辅助测试!微扑克代打是真的吗,(微扑克)一直是有挂,2025新版总结(黑科技教程)1、点击下载...
德扑之星辅牌软件使用!德扑ai... 德扑之星辅牌软件使用!德扑ai智能工具,(德扑ai)果然是有挂,技巧教程(黑科技功能);1、构建自己...
德州ai辅助设备!德州之星辅助... 德州ai辅助设备!德州之星辅助软件,(德州)都是真的有挂,必赢方法(黑科技透明挂);1、该软件可以轻...
wpk发牌机制!wpk辅助外挂... wpk发牌机制!wpk辅助外挂,(WpK)原来有挂,2025新版教程(黑科技总结)1、任何wpk发牌...
德扑之星透明软件的使用方法!德... 德扑之星透明软件的使用方法!德扑之星软件靠普吗,(德扑ai)本来存在有挂,wpk教程(黑科技攻略)1...
wepoke有透视挂吗!wep... wepoke有透视挂吗!wepower作弊器,(wePokE)本来有挂,曝光教程(黑科技透明);1、...
wepoke app系统规律!... wepoke app系统规律!Wepoke透明挂,(we-poker)切实是有挂,介绍教程(黑科技黑...
aapoker透视辅助!aap... aapoker透视辅助!aapoker透视辅助器,(aa poker)竟然是真的有挂,分享教程(黑科...
aapoker有外挂吗!aap... aapoker有外挂吗!aapoker透明挂下载,(AAPOKer)其实存在有挂,靠谱教程(黑科技功...