首页 > 解决方案 > 编写代码以切换获胜者列表的顺序,使其现在按姓氏从 A 到 Z。将此列表分配给变量 z_winners

问题描述

编写代码以切换获胜者列表的顺序,使其现在按姓氏从 A 到 Z。将此列表分配给变量 z_winners。

我知道它不应该使用获胜者 [-1] 但我如何按姓氏对其进行排序

winners = ['Alice Munro', 'Alvin E. Roth', 'Kazuo Ishiguro', 'Malala Yousafzai', 'Rainer Weiss', 'Youyou Tu']
for n in winners:
z_winners = sorted(winners[-1], reverse = True)

标签: pythonpython-3.xsorting

解决方案


尝试这个:

winners = ['Alice Munro', 'Alvin E. Roth', 'Kazuo Ishiguro', 'Malala Yousafzai', 'Rainer Weiss', 'Youyou Tu']
z_winners = sorted(winners, key= lambda x: x.split()[-1])

输出:

['Kazuo Ishiguro',
 'Alice Munro',
 'Alvin E. Roth',
 'Youyou Tu',
 'Rainer Weiss',
 'Malala Yousafzai']

推荐阅读