【发布时间】:2015-02-18 19:47:30
【问题描述】:
假设我有一个列表:
A = [cat, dog, mouse, horse, bird, rabbit]
将用作参考列表,以及另一个列表:
B = [dog, rabbit, horse, bird, cat, dog]
具有与参考列表完全相同的元素,但顺序不同。 我想按照与列表 A 完全相同的顺序对列表 B 进行排序,所以我尝试的是:
for indexA in range(0, len(A)):
for indexB in range(0, len(B)):
if A[indexA] == B[indexB]:
B[indexA], B[indexB] = B[indexB], B[indexA]
但这并不完全有效...... 解决此问题的最佳方法是什么?
【问题讨论】:
-
把A变成一个整数字典,用它对B进行排序
-
@StevenRumbalski 我认为 OP 没有说清楚。 OP想要做的是让A作为排序基础,B中的元素肯定都来自A,但现在OP希望它们按A的顺序排列。
-
嗯...迂腐地说...如果 B
has the exact same elements作为参考列表,那么:B=A[:]应该可以工作!
标签: python