gpt4 book ai didi

python - 根据另一个列表中子字符串的顺序对列表进行排序

转载 作者:太空宇宙 更新时间:2023-11-03 13:59:02 24 4
gpt4 key购买 nike

我有两个字符串列表。

list_one = ["c11", "a78", "67b"]
list_two = ["a", "b", "c"]

使用 list_two 中的字符串对 list_one 进行排序以获得以下输出的最短方法是什么?

["a78", "67b", "c11"]

编辑 1:还有一个类似的问题Sorting list based on values from another list? ,但在那个问题中,他已经有了结果字符串所需索引的列表,而这里我只有子字符串列表。

编辑 2:由于上面列举的例子可能不能完全代表,我再补充一个案例。

list_one 是 ["1.cde.png", "1.abc.png", "1.bcd.png"]list_two 是 ["abc", "bcd", "cde"]。输出应该是 [ "1.abc.png", "1.bcd.png", "1.cde.png"]

例如,如果 list_one 比 list_two 短,它应该仍然有效:

list_one 是 ["1.cde.png", "1.abc.png"]list_two 是 ["abc", "bcd", "cde"]输出应该是 [ "1.abc.png", "1.cde.png"]

最佳答案

key = {next((s for s in list_one if v in s), None): i for i, v in enumerate(list_two)}
print(sorted(list_one, key=key.get))

这个输出:

['a78', '67b', 'c11']

关于python - 根据另一个列表中子字符串的顺序对列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51418552/

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