子类 Python 列表以验证新项目

2023-12-13

我想要一个 python 列表,它在外部将自身表示为其内部列表项的平均值,但在其他方面则表现为列表。它应该提高一个TypeError如果添加的项目无法转换为浮点数。

我坚持的部分是提高TypeError。对于通过任何列表方法添加的无效项目,应该引发它,例如.append, .extend, +=、按切片设置等

有没有办法拦截添加到列表中的新项目并验证它们?

我尝试重新验证整个列表__getattribute__,但是当它被调用时,我只能访问列表的旧版本,而且它甚至不会被调用初始化,像这样的运算符+=,或者像这样的切片mylist[0] = 5.

有任何想法吗?


继承自可变序列并实现它所需的方法以及任何其他超出序列范围的方法——比如此处的运算符。这将允许您更改类似列表功能的运算符操作,同时自动生成迭代器和包含功能。

如果你想检查切片顺便说一句你需要做isinstance(key, slice)在你的__getitem__(和/或__setitem__) 方法。请注意,像 myList[0] 这样的单个索引不是切片请求,而是单个索引,而 myList[:0] 是实际的切片请求。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

子类 Python 列表以验证新项目 的相关文章

  • 从文本文件中删除特定字符

    我对 Python 和编码都很陌生 我当时正在做一个小项目 但遇到了一个问题 44 1 6 23 2 7 49 2 3 53 2 1 68 1 6 71 2 7 我只需要从每行中删除第三个和第六个字符 或者更具体地说 从整个文件中删除 字符
  • 使用 django-rest-framework 设置对象级权限

    尝试使用 django rest framework 最干净 最规范地管理 django guardian 对象级权限 我想将对象的读取权限 module view object 分配给在执行 POST 时发出请求的用户 我的基于阶级的观点
  • 按边距(“全部”)值列对 Pandas 数据透视表进行排序

    我试图根据 pandas 数据透视表中的行总和对最后一列 边距 aggrfunc 进行降序排序 我知道我在这里错过了一些简单的东西 但我无法弄清楚 数据框 数据透视表 WIDGETS DATE 2 1 16 2 2 16 2 3 16 Al
  • 如何过滤 Pandas GroupBy 对象并获取 GroupBy 对象?

    当对 Pandas groupby 操作的结果执行过滤时 它返回一个数据帧 但假设我想执行进一步的分组计算 我必须再次调用 groupby 这似乎有点绕 有更惯用的方法吗 EDIT 为了说明我在说什么 我们无耻地从 Pandas 文档中窃取
  • 使用python从gst管道抓取帧到opencv

    我在用着OpenCV http opencv org 和GStreamer0 10 我使用此管道通过自定义套接字通过 UDP 接收 MPEG ts 数据包sockfd由 python 提供并显示它xvimagesink 而且效果很好 以下命
  • 如何确保 re.findall() 停止在正确的位置?

    这是我的代码 a import re re findall r lt title gt lt title gt a 结果是 title aaa
  • Python Tkinter 模块不显示输出

    我正在尝试学习 Python 并尝试使用 Python 中的 GUI 并遇到了这个 Tkinter 模块 我的代码运行 但运行时窗口没有出现 我的代码如下 from Tkinter import to create a root windo
  • Python HMAC:类型错误:字符映射必须返回整数、None 或 unicode

    我在使用 HMAC 时遇到了一个小问题 运行这段代码时 signature hmac new key secret key msg string to sign digestmod sha1 我收到一个奇怪的错误 File usr loca
  • 使用 for 循环创建一系列元组

    我已经搜索过 但找不到答案 尽管我确信它已经存在了 我对 python 很陌生 但我以前用其他语言做过这种事情 我正在以行形式读取数据文件 我想将每行数据存储在它自己的元组中 以便在 for 循环之外访问 tup i inLine wher
  • Airflow 1.9 - 无法将日志写入 s3

    我在 aws 的 kubernetes 中运行气流 1 9 我希望将日志发送到 s3 因为气流容器本身的寿命并不长 我已经阅读了描述该过程的各种线程和文档 但我仍然无法让它工作 首先是一个测试 向我证明 s3 配置和权限是有效的 这是在我们
  • 使用 Python 将连续日期分组在一起

    Given dates datetime 2014 10 11 datetime 2014 10 1 datetime 2014 10 2 datetime 2014 10 3 datetime 2014 10 5 datetime 201
  • 为什么 __dict__ 和 __weakref__ 类从未在 Python 中重新定义?

    类创建似乎从来没有re 定义 dict and weakref class属性 即 如果它们已经存在于超类的字典中 则它们不会添加到其子类的字典中 但始终re 定义 doc and module class属性 为什么 gt gt gt c
  • Python bug - 或者我的愚蠢 - 扫描字符串文字时 EOL

    我看不出以下两行之间有显着差异 然而第一个解析 而后者则不解析 In 5 n Axis of Awesome In 6 n Axis of Awesome File
  • 检测是否从psycopg2游标获取?

    假设我执行以下命令 insert into hello username values me 我跑起来就像 cursor fetchall 我收到以下错误 psycopg2 ProgrammingError no results to fe
  • 如何在亚马逊 EC2 上调试 python 网站?

    我是网络开发新手 这可能是一个愚蠢的问题 但我找不到可以帮助我的确切答案或教程 我工作的公司的网站 用 python django 构建 托管在亚马逊 EC2 上 我想知道从哪里开始调试这个生产站点并检查存储在那里的日志和数据库 我有帐户信
  • 如何将带有参数的Python装饰器实现为类?

    我正在尝试实现一个接受一些参数的装饰器 通常带有参数的装饰器被实现为双重嵌套闭包 如下所示 def mydecorator param1 param2 do something with params def wrapper fn def
  • Django 管理器链接

    我想知道是否有可能 如果可以的话 如何 将多个管理器链接在一起以生成受两个单独管理器影响的查询集 我将解释我正在研究的具体示例 我有多个抽象模型类 用于为其他模型提供小型的特定功能 其中两个模型是DeleteMixin 和GlobalMix
  • 如何获取pandas中groupby对象中的组数?

    我想知道有多少个独特的组需要执行计算 给定一个名为 groupby 的对象dfgroup 我们如何找到组的数量 简单 快速 Pandaic ngroups 较新版本的 groupby API pandas gt 0 23 提供了此 未记录的
  • 如何(安全)将 Python 对象发送到我的 Flask API?

    我目前正在尝试构建一个 Flask Web API 它能够在 POST 请求中接收 python 对象 我使用 Python 3 7 1 创建请求 使用 Python 2 7 运行 API 该 API 设置为在我的本地计算机上运行 我试图发
  • 无法安装最新版本的 Numpy (1.22.3)

    我正在尝试安装最新版本的 numpy 即 1 22 3 但看起来 pip 无法找到最后一个版本 我知道我可以从源代码本地安装它 但我想了解为什么我无法使用 pip 安装它 PS 我有最新版本的pip 22 0 4 ERROR Could n

随机推荐

  • Excel 2007 中数值的可视化与底层 xml 文件不一致

    我试图从 Excel 外部读取 Excel 2007 文件 xlsx 但发现了无法解释的不一致之处 如果您在单元格中输入值 19 99 然后查看基础 Xml 文档 它实际上存储为 19 989999999999998 这不是执行此操作的唯一
  • Log4j 滚动策略和 MaxbackupIndex

    我使用下面的代码每分钟滚动日志 它工作得很好 log4j appender AllFlows org apache log4j rolling RollingFileAppender log4j appender AllFlows roll
  • 如何使用 Bison 解析 C 字符串

    Closed 这个问题需要细节或清晰度 目前不接受答案 我的 C 文件中有一个字符串 如下所示 char test print x 我想用我编写的 Bison 解析器来解析它 是否可以 Bison 解析器根本不读取输入 他们只是通过重复调用
  • 如何迭代priority_queue?

    我可以遍历一个标准吗priority queue或标准queue在 C 中带有迭代器 比如vector 我不想使用 pop 因为它会导致我的队列出队 谢谢你的帮助 priority queue不允许迭代所有成员 大概是因为很容易使队列的优先
  • 如何通过 _blank 在新窗口中打开链接并在后台打开?

    对于正常链接 a href xxx target blank 链接将在新窗口 或选项卡 中打开 我想知道是否有办法在后台打开它 并保持当前窗口仍然处于活动状态 您先请open新窗口 我们称之为newWindow 做这个 newWindow
  • 如何从{$$state:Object}获取数据?

    我尝试使用工厂从数据库中获取数据 我有一个问题 因为我不知道如何从工厂返回的对象中获取数据 这是我使用 console log 函数时收到的信息 gt d state Object state Object status 1 value A
  • 获取并非每天发生的事件的每日计数

    我有一个customer当客户注册时会在其中插入新行的表 Problem 我想知道给定日期范围内每天的注册总数 例如 查找2015 07 01到2015 07 10每天的注册总数 顾客表样本数据 显示相关列 customerid usern
  • amazon-s3 中的 Errno::ENOENT (没有此类文件或目录)

    我有使用 amazon s3 将图像发布到存储桶部署到 heroku 的应用程序 这工作得很好 但是当获取相同的图像时会出现错误 Errno ENOENT No such file or directory showing path s3
  • 为 CUDA 内核调用设置 Visual Studio Intellisense

    我刚刚开始 CUDA 编程 进展非常顺利 我的 GPU 被识别了等等 我已经使用这里非常有用的指南在 Visual Studio 中部分设置了 Intellisense http www ademiller com blogs tech 2
  • 如何将 C++ 中的 QStringList 显示到 QML ListView

    所以我是 Qt 的新手 我正在努力提高我的 C 技能 所以我决定启动一个项目 在其中我可以使用文本字段搜索 QStringList 中的项目 我使搜索功能正常工作 并且能够将搜索结果移至另一个QStringList 我可以使用它在声明为 公
  • 我如何覆盖核心 Symfony2 类?

    我想重写核心 Symfony2 类 具体来说 我想覆盖供应商 symfony symfony src Symfony Bundle FrameworkBundle Template TemplateReference php Templat
  • 如何在Boost Spirit解析器中打印符号表匹配的变量?

    我是使用初学者boost spirit 假设我有以下代码来解析带有变量的简单算术表达式 include
  • 使用 sed 插入换行符 (\n)

    我正在尝试将一些列表清理到格式正确的 CSV 文件中以进行数据库导入 我的起始文件看起来像这样 每个 行 应该跨越多行 如下所示 Mr John Doe Exclusively Stuff 186 Caravelle Drive Ponte
  • context.filter 在 safari 上不起作用

    我正在使用 React 和 Safari 构建一个绘图应用程序 context filter无法正常工作 下面是在 chrome 和 firefox 上渲染的图片以及在 safari 上渲染的图片 对于 Safari 来说还有其他选择吗 S
  • 使用PCA选择特征

    我正在做无监督分类 为此 我有 8 个特征 绿色方差 绿色标准差 红色平均值 红色方差 红色标准差 色调平均值 色调方差 色调标准差 用于分类每个图像 我想使用 PCA 选择 3 个最重要的特征 我编写了以下代码用于特征选择 其中特征尺寸为
  • Google Fonts 字体无法加载

    我正在尝试将 PT Sans 添加到时事通讯中 但由于某种原因它没有加载我已经复制了几乎所有代码 但它不起作用 我将非常感谢任何可以提供帮助的人 这是 CSS 代码 h1 h2 h3 font family PT Sans sans ser
  • 可执行目标文件和虚拟内存

    我是 Linux 和虚拟内存的初学者 仍在努力理解虚拟内存和可执行对象文件之间的关系 假设我们有一个可执行目标文件a out存储在硬盘驱动器磁盘上 假设最初 a out 有一个 data具有值为 2018 的全局变量的部分 当加载程序运行时
  • JavaScript:通过 ID 设置嵌套对象值

    我想知道在 JavaScript 中更新多级对象集合成员的最佳方法是什么 这是我的收藏的简化版本 this Steps id 1 text test childSteps id 2 text test id 3 text test id 4
  • Bundle 正在等待名称空间处理程序 [http://camel.apache.org/schema/blueprint]

    我编写了一个简单的 apache Camel 项目 最终将部署在 FUSE 容器中 现在 我只是想让基本的单元测试正常工作 我正在使用这个例子here作为起点 我已经编写了有效的单元测试 但是当我包含蓝图文件时 我在测试输出中得到以下条目
  • 子类 Python 列表以验证新项目

    我想要一个 python 列表 它在外部将自身表示为其内部列表项的平均值 但在其他方面则表现为列表 它应该提高一个TypeError如果添加的项目无法转换为浮点数 我坚持的部分是提高TypeError 对于通过任何列表方法添加的无效项目 应