问题标签 [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.
python - 有什么方法可以绕过 namedtuple 255 参数限制?
我正在使用一个命名元组来保存字符串集及其对应的值。我没有使用字典,因为我希望字符串可以作为属性访问。
这是我的代码:
理想情况下,一旦my_strings
初始化,我应该能够做到这一点:
并value1
打印回来。
但是,我收到以下错误:
似乎python函数(包括namedtuple的init())在调用时不接受超过255个参数。有什么方法可以绕过这个问题并命名超过 255 个项目的元组?为什么仍然有 255 个参数限制?
python - 取消命名元组时出错
全局变量 Agree 是一个在所有函数之外定义的命名元组:
命名元组从此函数返回:
在这里调用并腌制:
解酸给出错误:
文件的反汇编:
pickle 和 cPickle 都给出了类似的错误。
python - 命名元组错误
我正在尝试使用 namedtuple 将 Python 对象序列化为 JSON。但我得到这个错误。谷歌没有帮助。
python - 如何“索引”命名元组
我有一个命名元组,其中包含几个命名元组。
每个内部元组本质上都有一个唯一的“id”,以及其他有用的信息。我知道我想要访问的元组的 ID,我想知道是否有一种简单的方法可以“索引”命名元组来提取我想要的确切元素,而无需执行以下操作:
python - 基于namedtuple优化可修改命名列表
我的目标是优化基于 CSV 来源列表的修饰符堆栈的框架。每个修饰符都使用一个标题列表在命名的基础上工作。
CSV 示例(包括标题):
我已经编写了一些基于 namedtuple 的代码,以便能够使用 csv 模块生成的列表,而无需每次都重新组织数据。生成的代码如下:
我必须说我对使用这个类的表现非常失望。为 70000 行 csv 文件的每一行调用一个简单的修饰函数(将“忽略”更改为 True 100 次。是的,我知道它是无用的)需要 9 秒(使用 pypy.5.5 使用原始 python),而等效代码使用名为 foo 的列表需要 1.1 秒(与 pypy 和原始 python 相同)。
我能做些什么来获得两种方法之间的可比性能吗?对我来说,record.ignore = True
可以直接内联(左右),因此翻译成record[150] = True
. 有没有我看不到的阻碍点来实现这一点?
请注意,我正在修改的记录实际上(目前)不是为 CSV 文件中的每一行创建的,这意味着在列表中添加更多项目只发生一次,在迭代之前。
更新:示例代码
--> 使用命名列表
--> 不使用命名列表
更新 #2:namedlist.py 的代码(主要基于 namedtuple.py
python - 格式错误的字符串错误 - Python - 转换字符串 repr。字典的
当我这样做时ast.literal_eval()
,我得到ValueError: malformed string
了下面的行z = ast.literal_eval(a)
。为什么这不起作用?
(请注意 - 下面一行中的“某物”有 4 个或更多命名元组)
如果我做一个简单的print a
,我得到
没有ast.literal_eval(a)
,当我尝试使用“a”作为字典时,它会引发AttributeError: 'str' object has no attribute 'items'
. 这是扩展代码——
编辑:当我尝试 json.loads(thing) 时,我得到TypeError: expected string or buffer
. 所以我认为thing
不是字符串。然后我不知道为什么它在抱怨它是str object
我使用它的时候。
python - 属性如何与 Python 中的 Itemgetter 一起使用?
我正在学习python。当谈到官方库中的集合模块时,我发现了 NamedTuple 的代码片段,例如:
它是 NamedTuple 生成的代码的一部分。生成的代码如下:
这是我的问题:
Itemgetter(0) 是一个需要对象作为参数的函数。但是属性不会将任何参数传递给 itemgetter。那么这是如何工作的呢?
谢谢!
这是使用该属性的全部代码:
python - 从命名元组列表中选择标题的问题
我想选择书名并按字母顺序制作一个新列表
对于 BSI 中的 i:打印(排序(i.title))
python - 如何将命名元组应用于函数?
在 Python 中,如果你有字典
您可以将其应用于接受foo
和bar
关键字参数的函数
但是,如果相反,我想func
使用下面定义的 namedtuple 进行调用:
这个的语法是什么?