问题标签 [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 投票
4 回答
4360 浏览

python - 使用 namedtuple 嵌套

我无法以我想要的 python 形式获取数据。

基本上我有一个程序可以读取二进制数据并提供对所述数据进行绘图和分析的功能。

我的数据有主标题,然后是子标题,可以是任意数量的不同数据类型。

我希望能够访问我的数据,例如:

但直到运行时我才知道原子的名称。

我试过使用namedtuple,例如在我读完所有原子名称之后:

其中 elementlist 是字符串列表,例如 ('hydrogen','carbon')。但问题是我不能使用例如嵌套这些:

然后能够通过例如访问这些值

也许我这样做完全错了。我对python相当缺乏经验。我知道如果我不关心动态命名变量,这将很容易做到。

我希望我已经明确了我想要实现的目标!

0 投票
3 回答
15686 浏览

python - 将CSV文件数据读取为命名元组行的pythonic方法是什么?

获取包含标题行的数据文件并将该行读入命名元组以便可以通过标题名称访问数据行的最佳方法是什么?

我正在尝试这样的事情:

reader 对象不可下标,因此上面的代码会抛出一个TypeError. 将文件头读入命名元组的pythonic方法是什么?

0 投票
2 回答
9804 浏览

python - Python 命名元组列表,替换属性

这是一些简化的代码,我不明白为什么它不起作用。

这是输出

0 投票
2 回答
1489 浏览

python - namedtuple 和冻结的字典之间的区别

我知道没有冻结的 dict 数据类型,但如果有的话,它与命名元组有何不同。在我看来,namedtuple 执行了所需的操作,但显然它没有。那么有什么区别呢?

0 投票
2 回答
2239 浏览

python - Python:Json 使用命名元组、日期对嵌套数据结构进行编码

我有一个嵌套的 Python 数据结构,其中包含 datetime.datetime 对象和 namedtuples,如下所示:

和一个这样的编码器:

print json.dumps(x, cls=TestEncoder)输出:

我想将 namedtuple 转换为 dicts(大概使用 namedtuple._asdict()方法),以获得以下输出:

如何保留一般数据结构,但 json 将命名元组转储为 dicts?

0 投票
22 回答
159109 浏览

python - 可选关键字参数的命名元组和默认值

我正在尝试将一个较长的空心“数据”类转换为一个命名元组。我的班级目前看起来像这样:

转换后namedtuple看起来像:

但是这里有一个问题。我原来的类只允许我传入一个值,并通过使用命名/关键字参数的默认值来处理默认值。就像是:

但这在我重构的命名元组的情况下不起作用,因为它希望我传递所有字段。我当然可以替换 to 的出现,Node(val)但这Node(val, None, None)不符合我的喜好。

那么是否存在一个很好的技巧可以使我的重写成功而不会增加很多代码复杂性(元编程),还是我应该吞下药丸并继续“搜索和替换”?:)

0 投票
2 回答
160 浏览

python - 如何将由 namedtuple 创建的元组子类转换为元组本身?

我正在使用 python,而某些方法需要元组作为其参数。虽然namedtuple创建的instance是tuple的子类,但是看来还是需要把它转成tuple。
有什么办法可以快速将namedtuple制作的tuple子类转换为tuple?谢谢!

0 投票
3 回答
13813 浏览

python - 有没有一种优雅的方式来使用 struct 和 namedtuple 而不是这个?

我正在读取由 C 中的记录组成的二进制文件,如下所示:

现在我可以将其解析为具有 23 个不同值的元组,但如果我可以使用namedtuple将前 20 个text字节组合到index. 我怎样才能做到这一点?基本上,我宁愿分别拥有两个 20 和 3 个值的元组,而不是一个 23 个值的元组,并使用“自然名称”访问它们,即通过namedtuple.

我目前使用的格式"20c3B"struct.unpack_from().

注意:当我调用时,字符串中有很多连续的记录parse_text


我的代码(精简到相关部分):

0 投票
5 回答
31550 浏览

python - Pythonic 按字段名称对命名元组列表进行排序的方法

我想对命名元组列表进行排序,而不必记住字段名的索引。我的解决方案似乎很尴尬,并希望有人能有一个更优雅的解决方案。

谢谢,尼克

0 投票
4 回答
9838 浏览

python - 在 Python 中合并命名元组的简单方法是什么?

我想在不丢失键名的情况下合并两个命名元组。如果,我只是与 '+' 运算符合并,结果我得到一个元组,但没有名称。

例如:

正如你在上面的例子中看到的, a + b 的结果没有与之关联的名称。

但是,我可以通过创建第三个命名元组来实现它,它具有来自 A 和 B 的字段。

这是正确的方法还是有更好的方法来做到这一点?