python - 在 Python 中对混合元素进行排序 - KeyError
问题描述
假设我有一个 thruple 列表:
data = [
{'a': 1, 'b': 4, 'c': 3},
{'a': 2, 'b': 3, 'c': 5},
{'a': 4, 'b': 6, 'c': 2},
]
我将如何对第二个元素进行排序b
?这样排序后的列表将如下所示:
data = [
{'a': 2, 'b': 3, 'c': 5},
{'a': 1, 'b': 4, 'c': 3},
{'a': 4, 'b': 6, 'c': 2},
]
我试过了sorted(data, key=itemgetter(1))
,sorted(data, key=lambda test: test[1])
但是我得到了一个KeyError: 1
.
由于我的清单涉及一个字母和一个数字,我不确定如何继续解决这个问题。我不想将其转换为字符串,因为稍后我必须访问这些数字。先感谢您。
解决方案
def func(dic):
return dic["b"]
print (sorted(data,key=func))
这将返回您期望的输出
推荐阅读
- laravel - 多个数据透视表 laravel 雄辩
- opengl - OpenGL/C++:将多个纹理传递给一个着色器的问题
- python - 无法通过 HTTP 下载文件 - 会话挂起
- ruby - 无法使用 ruby 关闭 sqlite3 数据库
- python - 在 PyQt 中关闭窗口后如何检索属性值?
- angularjs - AngularJs 使用 Gulp 和 Docker NGINX 镜像构建生产环境
- javascript - 如何为与当前值一起滑动的滑块制作标签?
- python - 在 Python 数据框中的另一列中找到两次出现的值之间的列的最小值
- android - 我如何获得最后一个 sql id?
- azure - 密码重置用户流帐户不存在错误