代码之家  ›  专栏  ›  技术社区  ›  VonDerHase

从列表中删除特定值,Python

  •  -2
  • VonDerHase  · 技术社区  · 1 年前

    我有一份字典清单。每个都包含一个对象。删除一个特定字典及其对象的最低属性值的正确方法是什么?

    balls = [{'body': Body(), 'color': (6, 208, 1, 255), 'rad': 10}, ...]
    

    我这样做的方式:

    searcher = balls.copy()
    searcher.sort(key=lambda x: x['body'].position[1])
    balls.remove(searcher[0])
    

    我想知道是否有更快、更“蟒蛇式”的方法。

    1 回复  |  直到 1 年前
        1
  •  3
  •   nk0    1 年前

    要从列表中删除“body.position[1]”值最低的字典,可以使用 min :

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