【发布时间】:2020-06-28 06:32:43
【问题描述】:
我有以下清单:
listofanimals = ['Dog', 'Cat', 'Frog', 'Tiger', 'Sheep', 'Lion']
我想根据字典对这个列表进行排序:
score_card = {0: 'Sheep', 1: 'Dog', 2: 'Cat', 3: 'Tiger', 4: 'Frog', 5: 'Lion'}
最终列表的顺序必须是从 0 到 5,即
numberorder = [0, 1, 2, 3, 4, 5]
我想在一个函数中创建它。这就是我所拥有的:
def sorter():
listofanimals = ['Dog', 'Cat', 'Frog', 'Tiger', 'Sheep', 'Lion']
score_card = {0: 'Sheep', 1: 'Dog', 2: 'Cat', 3: 'Tiger', 4: 'Frog', 5: 'Lion'}
numbers = [0, 1, 2, 3, 4, 5]
finallist = []
for i in listofanimals:
print(numbers[listofanimals.index(i)])
q.append(numbers[listofanimals.index(i)])
print(q)
q = sorted(q)
finallist = [score_card[j] for j in q]
return finallist
我不知道如何将动物列表转换为数字,所以我可以对数字进行排序,然后反馈到字典中以获取值,但我就是无法让它工作。任何帮助表示赞赏。
【问题讨论】:
标签: python python-3.x string list dictionary