如何在python中通过对象的属性从对象列表中选择对象

2023-12-24

如果这个问题已经被问过,我深表歉意,但我认为我不知道通过谷歌搜索合适的解决方案的正确术语。

我想通过对象的属性值从对象列表中选择一个对象,例如:

class Example():
    def __init__(self):
        self.pList = []
    def addPerson(self,name,number):
        self.pList.append(Person(self,name,number))

class Person():
    def __init__(self,name,number):
        self.nom = name
        self.num = number


a = Example()
a.addPerson('dave',123)
a.addPerson('mike',345)

a.pList #.... somehow select dave by giving the value 123

就我而言,该号码始终是唯一的

谢谢您的帮助


一种选择是使用next()内置:

dave = next(person for person in a.pList if person.num == 123)

这会抛出StopIteration如果什么也没找到。您可以使用两个参数的形式next()为这种情况提供默认值:

dave = next(
    (person for person in a.pList if person.num == 123),
    None,
)

一个稍微冗长的替代方案是 for 循环:

for person in a.pList:
    if person.num == 123:
        break
else:
    print "Not found."
    person = None
dave = person
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在python中通过对象的属性从对象列表中选择对象 的相关文章

  • 从字典的元素创建 Pandas 数据框

    我正在尝试从字典创建一个 pandas 数据框 字典设置为 nvalues y1 1 2 3 4 y2 5 6 7 8 y3 a b c d 我希望数据框仅包含 y1 and y2 到目前为止我可以使用 df pd DataFrame fr
  • 定义Python源代码编码的正确方法

    PEP 263 http www python org dev peps pep 0263 定义如何声明Python源代码编码 通常 Python 文件的前两行应以以下内容开头 usr bin python coding
  • 如何在python中附加两个字节?

    说你有b x04 and b x00 你如何将它们组合起来b x0400 使用Python 3 gt gt gt a b x04 gt gt gt b b x00 gt gt gt a b b x04 x00
  • 尝试从网页Python和BeautifulSoup获取编码

    我试图从网页检索字符集 这会一直改变 目前我使用 beautifulSoup 来解析页面 然后从标题中提取字符集 这工作正常 直到我遇到一个网站 到目前为止 我的代码以及与其他页面一起使用的代码是 def get encoding soup
  • 数据框 - 平均列

    我在 pandas 中有以下数据框 Column 1 Column 2 Column3 Column 4 2 2 2 4 1 2 2 3 我正在创建一个数据框 其中包含第 1 列和第 2 列 第 3 列和第 4 列等的平均值 ColumnA
  • 检查 python 中命令行参数的数量

    我是蟒蛇新手 还是把脚弄湿了 我正在尝试做这样的事情 import sys if len sys argv lt 3 or lt len sys argv gt 3 print This script will compare two fi
  • 为什么第二个 request.session cookies 返回空?

    我想使用 requests Session post 登录网站 但是当我已经登录主页 然后进入帐户页面时 看来cookies还没有保存 因为cookies是空的 而且我无法进入正确的帐户页面 import requests from bs4
  • numpy:高效执行数组的复杂重塑

    我正在将供应商提供的大型二进制数组读入 2D numpy 数组 tempfid M N load data data numpy fromfile file dirname fid dtype numpy dtype i4 convert
  • 检查 Objective-C 块类型?

    这主要是出于好奇 我不太确定它的实际用途是什么 但就这样吧 由于块也是 Objective C 对象 是否可以检查它们的类型 也就是说 它是否响应isKindOfClass 消息以及如何使用该消息来处理块 我天真的以为事情大概是这样的 vo
  • 如何使用 opencv python 计算乐高积木上的孔数?

    我正在开发我的 python 项目 我需要计算每个乐高积木组件中有多少个孔 我将从输入 json 文件中获取有关需要计算哪个程序集的信息 如下所示 img 001 red 0 blue 2 white 1 grey 1 yellow 1 r
  • python 中的 h2o 框架子集

    如何在 python 中对 h2o 框架进行子集化 如果 x 是一个 df 并且 Origin 是一个变量 那么在 pandas 中我们通常可以通过以下方式进行子集化 x x Origin AAF 但使用 h2o 框架会出现以下错误 H2O
  • Python MySQL 操作错误:1045,“用户 root@'localhost' 的访问被拒绝

    我试图通过以下方式从我的 python 程序访问数据库 db mysql connect host localhost user Max passwd maxkim db TESTDB cursor db cursor 但是 我在第一行代码
  • Javascript:我应该隐藏我的实现吗?

    作为一名 C 程序员 我有一个习惯 将可以而且应该私有的东西设为私有 当 JS 类型向我公开其所有私有部分时 我总是有一种奇怪的感觉 而且这种感觉并没有被 唤起 假设我有一个类型draw方法 内部调用drawBackground and d
  • Jupyter 笔记本中未显示绘图图表

    我已经尝试解决这个问题几个小时了 我按照上面的步骤操作情节网站 https plot ly python getting started start plotting online并且图表仍然没有显示在笔记本中 这是我的情节代码 color
  • Flask 应用程序路由中的多个参数

    烧瓶怎么写app route如果我在 URL 调用中有多个参数 这是我从 AJax 调用的 URL http 0 0 0 0 8888 createcm summary VVV change Feauure 我试图写我的烧瓶app rout
  • pygame:使用 sprite.RenderPlain 绘制精灵组的顺序

    我有一个精灵组 需要按一定的顺序绘制 以便其精灵按应有的方式重叠 然而 即使使用运算符模块函数 sorted self sprites key attrgetter y x 对组进行排序 顺序也是错误的 我该如何解决这个问题 直截了当地说
  • 为正则表达式编写解析器

    即使经过多年的编程 我很羞愧地说我从未真正完全掌握正则表达式 一般来说 当问题需要正则表达式时 我通常可以 在一堆引用语法之后 想出一个合适的正则表达式 但我发现自己越来越频繁地使用这种技术 所以 自学并理解正则表达式properly 我决
  • 在matlab中,如何读取python pickle文件?

    在 python 中 我生成了一个 p 数据文件 pickle dump allData open myallData p wb 现在我想在Matlab中读取myallData p 我的Matlab安装在Windows 8下 其中没有Pyt
  • 如何绘制更大的边界框和仅裁剪边界框文本 Python Opencv

    我正在使用 easyocr 来检测图像中的文本 该方法给出输出边界框 输入图像如下所示 Image 1 Image 2 使用下面的代码获得输出图像 But I want to draw a Single Bigger bounding bo
  • 描述符“join”需要“unicode”对象,但收到“str”

    代码改编自here http wiki geany org howtos convert camelcase from foo bar to Foo Bar def lower case underscore to camel case s

随机推荐

  • Visual Studio 2012 C++ 你好世界 - iostream 不工作

    我对 Visual Studio 2012 有疑问 我还在使用 Sams Teach Yourself C in One Hour a day 7th Edition 在使用 google 找到 最佳 C 编译器之后 Visual Stud
  • Typescript 数组接口,具有编号索引和可通过字符串键访问的自定义属性

    我想要一个按数字索引的对象数组 并将数组上的所有对象放在特定键下 像这样的事情 const myArray ICustomArray myArray push item myArray item key item 但我正在努力定义它的界面
  • android:市场活动的反应

    我正在尝试制作一个应用程序 打开所选应用程序的 Android 市场页面并让用户下载它 我已使用以下意图来打开市场 Intent intent new Intent Intent ACTION VIEW intent setData Uri
  • 带有ContinueWith的TaskCanceledException

    我一直在试图找出为什么最近开始出现异常的一些异步代码会出现 TaskCanceledException 异常 我已将问题简化为一个让我摸不着头脑的小代码片段 static void Main string args RunTest priv
  • 在 PHP array_walk 中按引用传递第三个参数,没有警告

    有没有办法让这段代码在没有警告的情况下工作 function myFunction value key array if strlen value lt 2 array key value a array aa bbb cc dd resu
  • Angular CLI 插件

    Ember CLI 有一个命令 ember addon
  • 在 Android 中结束通话

    我试图在几秒钟后结束新的拨出呼叫 这是我的代码 public class phonecalls extends Activity ComponentName cn Called when the activity is first crea
  • 构建类似 Facebook 的个性化新闻源:SQL、MongoDB?

    我正在构建一个类似 Facebook 的新闻源 这意味着它是由许多 SQL 表构建的 并且每种数据类型都有特定的布局 但它的负载变得非常重 我希望让它变得更加复杂 这就是我现在所做的 用户模型 def updates more option
  • 将表情符号添加到 Hugo 页面变量

    如何将表情符号添加到 Hugo 页面变量 例如 在以下代码片段的标题中 date 2016 11 20T12 00 00 draft false tags Fun title Went sporting heart Hugo 有两种处理表情
  • 在 ruby​​ on Rails 中包含 httparty 时出现问题

    我一直在尝试在我的 Rails 代码中使用 HTTParty sudo gem install httparty 从命令行我现在可以成功地执行 httparty http twitter com statuses public timeli
  • 如何在 PostgreSQL 中进行仅模式备份和恢复?

    如何在 PostgreSQL 数据库中进行架构级备份并在另一个数据库上恢复 有没有可用的单个命令 例如 我可以在单行中进行 pg dump 和恢复吗 pg dump schema masters oldDB gt masters1 sql
  • 如何正确缓存我的 Symfony2 API?

    我正在 Symfony2 上制作经典的无状态 RESTfull API 用户 应用程序在身份验证 API 上获取身份验证令牌 并将其提供给所有其他 API 进行记录并发布数据 访问其他 API 上的受保护 私有 个人数据 我现在对这个工作流
  • 没有 $unwind 的 $group 内部数组值

    我想按指定字段的相同值对数组中的对象进行分组并生成计数 我有以下 mongodb 文档 不存在不相关字段 arrayField fieldA value1 otherFields fieldA value2 otherFields fiel
  • 如何创建收益递减的公式?

    我想这是一个数学问题 而不是一个编程问题 但是创建收益递减公式的好方法是什么 以下是一些关于我希望曲线看起来如何的示例点 f 1 1 f 1 5 98 f 2 95 f 2 5 9 f 3 8 f 4 7 f 5 6 f 10 5 f 20
  • 对相关包进行排序

    我有一个 Pig 脚本 它生成了一个关系 A x chararray B y chararray z int 我想根据 B y 对 A 进行排序 但是以下代码给了我错误 语法错误 z 处或附近出现意外符号 output foreach A
  • 用户代理标头 - mysql 存储的缩写

    根据这个帖子 特别是这篇文章 https stackoverflow com a 6595973 1125465 https stackoverflow com a 6595973 1125465 微软一如既往地炫耀 用户代理的大小可能非常
  • 在范围内找不到类型 GIDSignInDelegate

    如下所示 我收到这些错误 我已经安装了 Firebase 和 GoogleSignIn 我做错了什么 正如克里斯在评论中指出的那样 请遵循迁移指南 https developers google com identity sign in i
  • DotNetNuke——所有登录都在任何地方被跟踪吗?

    我知道您可以在 用户 表的 LastModifiedOnDate 列中找到用户上次登录的时间 但我有兴趣查找用户登录时时间戳的完整历史记录 这可能吗 如果是这样 该信息存储在哪个表中 Thanks 日志查看器中存储了一个事件 即EventL
  • 将不同的结构复制到字节数组

    我正在将旧的 Visual BASIC 程序转换为 C 该程序通过串行或以太网线路向某些工业机械发送消息 为此 它创建消息的字节数组 问题是有MANY 50 种不同的消息格式 每种格式在 VB6 中定义为用户定义类型 例如 Public T
  • 如何在python中通过对象的属性从对象列表中选择对象

    如果这个问题已经被问过 我深表歉意 但我认为我不知道通过谷歌搜索合适的解决方案的正确术语 我想通过对象的属性值从对象列表中选择一个对象 例如 class Example def init self self pList def addPer