python - 从字典中的列表创建表和排序数据
问题描述
我有一本包含列表的字典
students = {
1:["name1", 20, 100],
2:["name2", 20, 100],
3:["name3", 20, 95],
4:["name4", 21, 65],
5:["name5", 22, 85]
}
我想创建表并按名称对数据进行排序。像这样
Name Age Score
name1 20 100
name2 20 100
name3 20 95
name4 21 65
name5 22 85
我怎样才能做到这一点?我是这样写的:
students = {
1:["Rauf", 20, 100],
2:["Shafag", 20, 100],
3:["Ali", 20, 95],
4:["Camal", 21, 65],
5:["Arzu", 22, 85]
}
print(" ")
print("{:>12} {:>12} {:>12}".format('Name','Age','Score'))
print(" ")
for v in students.values():
name, age, score = v
print(sorted(("{:>12} {:>12} {:>12}".format(name, age, score)), key= lambda v: v[2]))
解决方案
这有帮助吗
import operator
students = {
1:["Rauf", 20, 100],
2:["Shafag", 20, 100],
3:["Ali", 20, 95],
4:["Camal", 21, 65],
5:["Arzu", 22, 85]
}
print(" ")
print("{:>12} {:>12} {:>12}".format('Name','Age','Score'))
sorted_students = sorted(students.items(), key=operator.itemgetter(1))
print(" ")
for v in sorted_students:
name, age, score = v[1]
print("{:>12} {:>12} {:>12}".format(name, age, score))
推荐阅读
- reactjs - React / Apollo 客户端:尝试在 useEffect 挂钩中使用 LazyQuery
- mysql - 与前一天相比获得和失去的访问者数量 - sql
- python - 如何在 python 中使用 uhf rfid 模块?
- r - 如何在大数据上运行层次聚类 hclust?
- sql - 如何将“EVERYTHING”作为参数传递给 BigQuery SQL 中的 WHERE 子句?
- git - 从轨道核对本地 Git 分支的最佳实践?
- javascript - 将异步响应转换为标准 Javascript 对象
- scheme - 在文字之前匹配任意数量的模式变量的方案语法规则?
- python - 如何优化用其他栅格区域平均值替换栅格 nan 值的 Python 循环
- java - 将多个整数值混淆为固定长度值并读回