问题标签 [namedtuple]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
163 浏览

python - 命名元组是灵活容器的方式吗?

我对 Python 很陌生,我不知道有什么可用的。目前,我有这段代码可以快速将一些命名变量放在一起,所以我可以在其他地方使用它们:

在这种情况下是namedtuple一个好的解决方案吗?或者它可以更简单吗?

0 投票
1 回答
1926 浏览

python - python collections.namedtuple() 混淆

文档说任何 python 有效标识符都可以是 field_name,但以下划线开头的除外,这很好。

如果rename参数为真,它将用有效的 field_names 替换无效的 field_names,但在此处指定的示例中,它用_1或替换它_3,这是怎么回事?这些以下划线开头!

该文件还说:

如果 verbose 为真,则在构建之前打印类定义

这到底是什么意思?

0 投票
1 回答
619 浏览

python - 如何通过 wtforms 将 request.form 存储到 db 或 sqlalchemy 更新中的错误?

这是从这个问题开始的: SQLalchemy/wtforms update issue - 400 bad request I have a flask framework

问题

当我提交表单时,会出现 Flash 消息,说添加了预测,尽管当我查询数据库时没有任何改变?谁能发现我哪里出错了?

我想达到什么目的

用户可以查看他们对当前预测进行更改的预测。如果没有新的预测,那么他们可以提交新的预测。

意见

想法 我有一种感觉,下面只是提交最初已经存在的内容,而不是表单请求......

模板

模板 - 替代

楷模

0 投票
1 回答
1829 浏览

python - 我怎样才能让我的 namedtuple 实际上是不可变的?

我创建了一个 SETTINGS 对象,namedtuple认为其中包含的列表是不可变的。我错了,因为在整个链中,只使用了对完全可变字典中原始列表的引用。

因此,当我调用.pop()我的列表时,它也会将它从我的 not-as-immutable-as-I-thought 中删除namedtuple。现在我在#python 一段时间后明白了为什么这一切都会发生。

我想知道的是:如何将 SETTINGS 创建namedtuple为行尾?只是数据,没有对任何其他对象的引用,以一种用户可编辑的方式?我觉得这dict是人类最容易阅读/编辑的数据结构,因此我dictnamedtuple.

0 投票
2 回答
3369 浏览

python - 通过 PyYAML 序列化命名元组

我正在寻找一些合理的方法来使用 PyYAML 序列化 YAML 中的命名元组。

一些我不想做的事情:

  • 在命名元组的实例化时,依靠动态调用来添加构造函数/表示器/解析器。这些 YAML 文件可能会在以后存储和重新加载,因此我不能依赖于它们恢复时存在的相同运行时环境。

  • 在全局中注册命名元组。

  • 依赖具有唯一名称的命名元组

我在想一些事情:

假设这是在路径 myapp/util.py 的应用程序模块中

但是,当我尝试加载时,我没有进入构造函数:

它将无法在 myapp.util 中找到 New。

我也尝试了各种其他方法,这只是我认为可能效果最好的一种。

免责声明:即使我进入了正确的构造函数,我也知道我的规范需要进一步的工作来了解保存哪些参数如何将它们传递到结果对象中,但对我来说,第一步是将 YAML 表示形式放入我的构造函数中,那么其余的应该很容易。

0 投票
1 回答
13084 浏览

python - 如何将元组转换为命名元组?

我想在内部使用 namedtuples,但我想保持与给我提供普通元组的用户的兼容性。

0 投票
1 回答
312 浏览

python - _tuple 在 Python 中有没有用处?

collections.namedtuple我阅读了今天的官方文档,并_tuple__new__方法中找到了。我没有找到_tuple定义的位置。

您可以尝试在 Python 中运行以下代码,它不会引发任何错误。

更新:有什么优点

这只是为了让tuple成为受保护的价值吗?我对吗?

0 投票
1 回答
931 浏览

python - 所有的命名元组都应该在一个单独的文件中吗?

namedtuple在我的 Python 代码库中使用了很多 s,它们散落在所有.py文件中。将所有这些声明提取到单独的文件中是一种好习惯,还是应该将它们保留在使用它们的地方?

在少数情况下,其他模块需要namedtuples在单独的模块中使用引用,因为这是定义接口的方式 - 他们期望namedtuples. 组织各种namedtuples特别是跨模块引用的推荐 Pythonic 方式是什么?

0 投票
2 回答
1752 浏览

python - 用命名元组初始化 numpy 数组

我正在尝试初始化一个包含命名元组的 NumPy 数组。当我用数据初始化数组empty并随后设置该数据时,一切正常;然而,当使用numpy.array构造函数时,NumPy 并没有达到我的预期。

的输出

这是 NumPy 1.8.1。

关于如何组织array构造函数的任何提示?

0 投票
1 回答
222 浏览

python - _replace 不调用命名元组子类的 __new__

我有一个命名元组类型的这个子类:

创建新用户按预期工作:

但是,当_replace使用时,__new__不会调用该方法:

有没有办法保证不变量namedtuple?我正在使用 Python 3.4。