gpt4 book ai didi

python - 根据另一个列表的顺序重新排列列表

转载 作者:太空狗 更新时间:2023-10-30 01:54:17 24 4
gpt4 key购买 nike

我确定之前可能有人问过这个问题,但我似乎找不到正确的答案。如果我有两个列表

_list1 = ["keyName", "test1", "test2"]
_list2 = ["keyName", "test2", "test1"]

我正在尝试使用 _list1 重新排列 _list2 中的元素,以便它们与顺序完全匹配。最干净的方法是什么?期望的输出:

_list1 = ["keyName", "test1", "test2"]
_list2 = ["keyName", "test1", "test2"]

如果这是重复的,我很抱歉,但到目前为止,我只能找到数字列表的答案并使用压缩的 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]]

这可能吗?

最佳答案

尝试使用带排序的键:

sorted(_list2,key=_list1.index)

对于嵌套列表,您可以使用列表压缩:

[sorted(x,key=_lis1.index) for x in _list2]

关于python - 根据另一个列表的顺序重新排列列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27725703/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com