python - 根据列表中的最小值获取键值对
问题描述
我试过用谷歌搜索这个,但找不到与这种情况类似的答案。我有以下格式的字典:
my_dict={'key1': ['some_data', 'some_more_data',6.0], 'key2': ['junk', 'some_more_junk',7.0], 'key3': ['something_good', 'good',1.0]}
我将如何创建一个仅包含列表末尾数字最小的键值对的子字典?换句话说,我希望我的输出是:
sub_dict={'key3': ['something_good','good',1.0]}
请注意,最小值将始终位于列表的末尾,列表中的其他元素与键相关。
解决方案
内置min
函数具有key
关键字参数。
所以你不需要排序。
my_dict = {'key1': ['some_data', 'some_more_data', 6.0],
'key2': ['junk', 'some_more_junk', 7.0],
'key3': ['something_good', 'good', 1.0],
'key4': ['test', 'test', 1.0]}
min_value = min(my_dict.values(), key=lambda x: x[-1])[-1]
new_dict = {k: v for k, v in my_dict.items() if v[-1] == min_value}
print(new_dict)
输出:
{'key3': ['something_good', 'good', 1.0], 'key4': ['test', 'test', 1.0]}
推荐阅读
- oracle - 在 BI 发布者的数据模型中检索超过 200 行
- c++ - 前进时改变 FOV(视野)
- image - 在 JavaFX 中加载外部图像
- onlongclicklistener - Countinouly 减少 recylerview 适配器类中长按时的值
- r - 当“%in%”和“which”不起作用时,基于字符向量子集数据帧行
- arrays - 是什么导致从阵列的 RAM 中查找 log(N) 时间?
- visual-studio-code - 如何在 vscode 中启动时运行多个任务?
- reactjs - 样式化组件 - 覆盖默认标题
- angular - Angular 实现变更检测的最佳方式
- flutter - 如何在 Flutter 中获取数据库中的图像下载 URL