所以有一个列表说b = [b1, b2, b3]我希望能够以a这样的方式对列表进行排序,即所有bi存在的列表具有与之a相同的相对顺序b- 仅剩下其余a的元素.所以
a = [ b1, x, b3, y, b2] -> [ b1, x, b2, y, b3]
a = [ b1, x, b2, y, b3] -> no change
a = [ b1, x, y, b2] -> no change
a = [ b3, x, b1, y, b2] -> [ b1, x, b2, y, b3]
Run Code Online (Sandbox Code Playgroud)
b当然可以是元组或任何其他有序结构.我想出了什么
bslots = dict((x, a.index(x)) for x in a if x …Run Code Online (Sandbox Code Playgroud) 我有一个字符串和整数列表,并希望对列表进行排序,保留这样的数字
["Hello", 1, 2, "World", 6, "Foo", 3]
Run Code Online (Sandbox Code Playgroud)
会成为
["Foo", 1, 2, "Hello", 6, "World", 3]
Run Code Online (Sandbox Code Playgroud)
简而言之,它只对列表中的字符串进行排序,而不是整数,它们保留在原位.我已经尝试使用key参数,list.sort()但没有设法实现我想要的.
谁能帮我这个?
编辑:这与链接的问题不同,因为我想保留整数的索引,而不是将它们与字符串一起排序.
编辑:这与第二个链接的问题不同,因为该问题的答案可以使用key参数解决问题,我明确声明的内容在此实例中不起作用.