【问题标题】:how to easily find a class instance in a list with a given class attribute?如何在具有给定类属性的列表中轻松找到类实例?
【发布时间】:2019-08-27 22:01:26
【问题描述】:

我是新手。我想知道是否有一种方法可以轻松地在具有给定属性的列表中找到类的实例。 (Python)

基本上设置如下:


class idk:
    def __init__(self, name, num):
        self.name = name
        self.num = num

x = idk("x", 2)
y = idk("y", 3)
a = [x, y]

所以 a 是一个包含两个类 idk 实例的列表。如何轻松找到名为“x”的元素?

我正在寻找类似的东西:

a["x"] returning x

或

b = [t in a, t.name == "x"] returning [x]

【问题讨论】:

  • 遍历列表并检查,通常是你这样做的。
  • 这就是我一直在做的,但我想要一个更简单的方法。

标签: python reference class-attributes


【解决方案1】:

你可以使用filter:

b = list(filter(lambda elem: elem.name == 'x', a))

但您的列表理解也可以正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-08
    • 2016-06-20
    • 2021-12-15
    • 2012-06-11
    • 1970-01-01
    • 2018-04-21
    • 1970-01-01
    • 2012-03-05
    相关资源
    最近更新 更多