【发布时间】:2015-02-27 19:31:33
【问题描述】:
我确信以前可能有人问过这个问题,但我似乎找不到正确的答案。如果我有两个列表
_list1 = ["keyName", "test1", "test2"]
_list2 = ["keyName", "test2", "test1"]
我正在尝试使用 _list1 重新排列 _list2 中的元素,以便它们完全匹配顺序。最干净的方法是什么?期望的输出:
_list1 = ["keyName", "test1", "test2"]
_list2 = ["keyName", "test1", "test2"]
如果这是重复的,我很抱歉,但到目前为止,我只能找到数字列表的答案并使用 zipped sorted() 方法。
如果 _list2 是列表列表怎么办?
_list2 = [["test1", "test2", "keyName"], ["test2", "test1", "keyName"]]
期望的输出:
_list2 = [["keyName", "test1", "test2"], ["keyName", "test1", "test2"]]
还有一个假设:如果我想使用 _list1 作为键对任何其他对象列表进行排序,该怎么办
_list2 = [[object1, object2, object3], [object1, object2, object3]]
地点:
object1.Name = "keyName"
object3.Name = "test1"
object2.Name = "test2"
如此有效,我希望输出:
_list2 = [[object1, object3, objec1], [object1, object3, objec1]]
这可能吗?
【问题讨论】:
-
两个列表的值是否完全相同?
-
是的,它们都将具有相同的字符串值。还有一点需要注意的是,_list2 可能是一个嵌套的列表列表,其中包含相同字符串值的列表,例如 _list2=[["test1", "keyName","test2"]["test2", "test1" , "键名"]]。所以值总是相同的,只是有时_list2的结构可能会改变