【问题标题】:How to select an Instance from a List based on a Value?如何根据值从列表中选择实例?
【发布时间】:2019-06-22 08:23:42
【问题描述】:

我有一个包含两个变量的类的实例列表:值和期望。

import random 

class MyClass:
    def __init__(self, value):
        self.value = value
        self.expectation = random.random()

my_list = []
for i in range(1, 11):
    my_list.append(MyClass(i))

我现在想获得具有最大期望的实例的值。我怎么得到这个?

【问题讨论】:

  • 请不要使用“list”作为变量名。
  • @ArindamRoychowdhury 你是对的!

标签: python list class


【解决方案1】:

Oneliner:

max(my_list, key=lambda x:x.expectation).value

【讨论】:

    【解决方案2】:
    my_list = []
    max_obj = max(my_list,key=lambda myClass:myclass.expectation)
    max_value = max_obj.value
    

    【讨论】:

      【解决方案3】:

      最大期望:

      max([obj.expectation for obj in mylist])
      

      具有最大期望的实例:

      ll = list(filter(lambda x:x.expectation == max([obj.expectation for obj in my_list]), my_list))
      

      【讨论】:

      • 这会返回最大的期望
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-02
      • 1970-01-01
      • 2013-06-08
      相关资源
      最近更新 更多