python - 从列表中弹出类的实例
问题描述
我想在不知道索引的情况下classB
从我的列表中删除第一个实例。l
我知道这list.pop()
需要索引,所以我首先需要获取列表中实例的索引。基本上是这样的:
class classA:
pass
class classB:
pass
A1 = classA()
A2 = classA()
B = classB()
l = [A1, A2, B]
x = l.pop(l.index(classB))
x
现在是,B
现在l
看起来像这样:
l = [A1, A2]
我怎么能做到这一点?
解决方案
只需编写一个 for 循环:
for idx, obj in enumerate(l):
if isinstance(obj, classB):
x = l.pop(idx)
break
else:
raise ValueError("no instance of classB in list")
如果您将多次使用它,请将其包装在一个函数中。逻辑是不平凡的,所以抵制单线它的诱惑。
推荐阅读
- php - 使用 where 子句检索 MySql 数据
- c# - 如果我使用 sqlite 保存字典应用程序的信息,我能否通过应用程序更新将信息添加到数据库中?
- ansible - 如何从 playbook 运行供应商提供的脚本以启用 csh 环境变量
- email - 如何将构建失败电子邮件限制为仅 travis CI 中的 CRON 作业?
- angular - 你能评论这个帮助类来处理 OnDestory 逻辑吗?
- parsing - LALR(1) 和 SLR(1) 解析器
- python - np.float 不匹配 np.float32 和 np.float64
- excel - VBA复制粘贴在调试模式下运行不同
- jmeter - 将 Jmeter Dashboard 报告保存到 Confluence 的解决方案
- scikit-learn - n-components 似乎不会截断计算的组件数