1

我正在尝试解析包含一系列序列化结构的一长串二进制数据。我能够以整数列表的形式获取内存中的数据(我们称之为主列表)。

为了解析主列表中包含的不同字段,我正在创建一些函数和类。我的问题是将主列表的子范围传递给这些函数和类的最有效方法是什么。

我是 Python 新手,如果我说错了什么,请原谅我。

  • 如果我这样做:parse_foo(main_list[n:N])我想将创建一个新列表。如果我没记错的话,这种方法效率很低。顺便说一句,我不会随时修改主列表。
  • 我想我可以使用迭代器(iterator.next())。但问题是我无法随机访问元素。

评论和建议总是非常受欢迎。

4

2 回答 2

0

您可以设置函数,以便它们获取主列表以及开始和结束索引。

于 2012-11-30T16:30:48.127 回答
0

为了评估效率,您应该利用discProfile模块。

来自cProfile文档

python -m cProfile myscript.py

来自dis文档

>>> dis.dis(myfunc)
  2           0 LOAD_GLOBAL              0 (len)
              3 LOAD_FAST                0 (alist)
              6 CALL_FUNCTION            1
              9 RETURN_VALUE
于 2012-11-30T16:31:46.960 回答