python - 你如何通过将它与单独的列表进行比较来对 python 中的列表进行排序?

标签 python

<分区>

假设我有一个列表:

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]

但这并不完全有效...... 解决此问题的最佳方法是什么?

最佳答案

您可以使用sortsortedkey 来使用当前单词的A.index

>>> sorted(B, key = A.index)
['cat', 'dog', 'dog', 'horse', 'bird', 'rabbit']

关于python - 你如何通过将它与单独的列表进行比较来对 python 中的列表进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27573420/

相关文章:

python - 未绑定(bind)本地错误: local variable 'html' referenced before assignment

带有斯堪的纳维亚语字母的 Python 列表

python - docker 对非 webapp 应用程序(例如 Python 脚本)有何用处?使用它与 LXC/LXD 相比有什么优势?

python - 如何将经度、纬度、高程转换为直角坐标?

Python:使用解包元组作为(dict)键的通用方法

python - uwsgi + nginx背后的分析生产 flask 应用程序

python - Pyramid - 是否可以在我的可调用 View 中将我的 mako 模板呈现为字符串?

python - 读取 float32 中的二进制数据

python - Django、 celery 、Redis、RabbitMQ : Chained Tasks for Fanout-On-Writes

python - Python中exec和eval的使用