You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何高效移除列表中含对象属性最小值的字典?

更高效、符合Python风格的实现方法

你的当前实现需要复制整个列表并进行排序,时间复杂度为O(n log n),其实可以用min()函数直接找到目标元素,再执行移除操作,时间复杂度仅为O(n),更高效且更符合Pythonic风格:

min_ball = min(balls, key=lambda x: x['body'].position[1])
balls.remove(min_ball)

优势说明

  • 时间效率更高:min()只需要遍历一次列表找到最小元素(O(n)),而排序操作需要O(n log n)的时间,数据量越大,效率差异越明显。
  • 代码更简洁:无需复制整个列表,两行代码完成逻辑,清晰直观。
  • 行为一致:如果存在多个position[1]值相同且为最小的元素,min()会返回列表中第一个出现的那个,remove()也只会移除第一个匹配项,和你原代码的行为保持一致。

内容的提问来源于stack exchange,提问作者VonDerHase

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 02:53:09