【发布时间】:2014-08-17 10:07:49
【问题描述】:
我正在寻找一种方法来按在另一个字符串中出现的顺序对列表进行排序,以便以下代码
thelist = ["a", "b", "c"]
thestring = "b c a"
就能被排序成
["b", "c", "a"]
因为这是每个列表对象在字符串中出现的顺序。
我将如何实现这一目标?是否可以使用带有特定参数的 sorted 函数来轻松实现此目的或其他目的? 谢谢。
【问题讨论】:
-
只使用
thestring.split(),而不是排序thelist? -
你可以试试
.sort(key=lambda c: thestring.index(c)),但这不能很好地处理重复 -
是的,我需要能够在有多个的地方进行排序,还有其他方式吗?
-
@Vatec 这是重复字符时的非确定性排序! (或者换句话说 - 你不能......)
-
@Vatec:多个什么?
thelist中的重复元素?还是在thestring中重复?在哪种情况下胜?