按照参考数组对对象数组进行排序
创始人
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功能)最初有挂,2025新版教程(有挂技巧);1...
黑科技辅助!wepoke有挂真... 您好:德扑机器人这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好...
黑科技辅助!wepoke辅助插... 黑科技辅助!wepoke辅助插件,(WePoKe智能)切实有挂,解密教程(真的有挂);详细WePoK...
黑科技辅助!wepoke智能a... 您好,WPK评测这款游戏可以开挂的,确实是有挂的,需要了解加微【485275054】很多玩家在这款游...
黑科技辅助!wepoke黑科技... 您好:WPK第一视角这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特...
黑科技辅助!wepoke透明黑... 黑科技辅助!wepoke透明黑科技,(WPK合作)本然是真的有挂,透明挂教程(发现有挂);WPK合作...
黑科技辅助!wepoke有挂真... 黑科技辅助!wepoke有挂真的有挂,(德州微扑克专用)从来真的有挂,德州教程(有挂详情);1、德州...
黑科技辅助!wepoke智能a... 黑科技辅助!wepoke智能ai,(cloudpoker云扑克)一直是真的有挂,科技教程(有挂细节)...
黑科技辅助!wepoke智能a... 黑科技辅助!wepoke智能ai,(AAPoKer测试)都是是真的有挂,爆料教程(有挂技巧);AAP...
黑科技辅助!wepoke黑科技... 黑科技辅助!wepoke黑科技ai设备,(悟空黑桃a扑克牌)一贯真的有挂,微扑克教程(新版有挂);悟...