python - 我想知道是否有一种方法可以使用 sorted() 函数按 2-d 甚至 3-d 数组中的指定索引进行排序
问题描述
我创建了一个 3-d 数组来存储保龄球队的信息。我在脑海中将其组织为一个目录,其中包含团队,这些团队中有个人资料,个人资料包括球员姓名、球队号码和得分。
我创建了一个要使用的测试列表:
test = [
[["John",1,153],["Lizzy",1,129],["Matt",1,178]],
[["Jorge",2,156],["Brent",2,145],["Kyle",2,207]],
[["Chuck",3,300]],
[["Joey",4,230],["Stanley",4,60]]
]
我想按分数创建所有配置文件的排序列表,并按字母顺序创建另一个列表。我可以使用 for 循环来做到这一点,但如果使用sorted()
. 有没有办法在sorted()
函数中使用 key 参数来做到这一点?
解决方案
这就是我最终做的
def sort_score(directory):
sorted_score = []
for team in directory:
for profile in team:
sorted_score.append(profile)
sorted_score = sorted(sorted_score,key=takeScore,reverse=True)
return sorted_score
def takeScore(elem):
return elem[2]
推荐阅读
- jupyter-notebook - Jupiter notebook 在绘制我的图像之前正在打印文字(顺序不正确)
- bash - 开机后自动运行脚本 - 树莓派
- python - Pyautogui click() 和 moveTo() 不起作用 mac os bigsur
- flutter - 在标题和文本字段之间填充不呈现?
- python - gerrit 的 Rest api 给出响应,但用于获取修订的 Python-gerrit-api 包给出状态 404
- javascript - 有没有办法使用基于对象的嵌入来制作“嵌入页面”?(不和谐.js)
- perl - RRDTools RRDs::xport 模块的工作示例
- javascript - 如何使用脚本使 div 到下一行?
- knockout.js - 使用 Knockout.js 如何将控制器 A 中的列表中的 id 传递给另一个控制器 B 中的按钮
- html - 努力使用下拉输入菜单计算和打印结果