小编No *_*lar的帖子

在函数中创建和返回动态列表是否会在Python中创建内存泄漏?

如果我在python函数中创建一个列表并将其返回给调用者,垃圾收集如何在该列表上工作?我是否必须做任何事情以防止发生内存泄漏?

例如:

#!/usr/bin/python

import random

class Example:
    def f1(self):
        list = []
        len = random.randint(0, 30)
        for i in range (0, len):
                list.append(random.randint(0, 65536))
        return list


random.seed(None)

e = Example()
while (1):
    l = e.f1()
Run Code Online (Sandbox Code Playgroud)

这会导致内存泄漏吗?f1()中的'list'是否始终具有适当的引用计数?f1()的调用者是否必须做任何事情来防止内存泄漏?调用者应该在列表上做del()还是什么?

python garbage-collection memory-leaks

2
推荐指数
1
解决办法
292
查看次数

iOS的标准语法分析器是什么?

适用于iPad和iPhone的iOS是否支持解析器?特别是,lex/yacc或flex/bison可用于iOS开发吗?xcode4是否有本机支持的库?(我可以通过lex/yacc生成我的语法,然后获取*.c文件并将它们放入我的项目中,但我希望有更严格支持的库.)

有任何想法吗?

parsing yacc lex ios

2
推荐指数
1
解决办法
1035
查看次数

如何从名称中调用库函数?

我希望能够使用a 从C程序char *function_name = "foo"调用foo().该foo()程序将在一个共享库.我没有访问任何dlopen等,只是常规可执行文件的加载步骤.有没有办法解析此名称并从共享库加载它?

c

1
推荐指数
1
解决办法
185
查看次数

如何在python中匹配和打印逗号分隔数字列表?

关于这个主题有几个问题,但它们似乎都没有具体回答这个问题.

如果我有模式p='([0-9]+)(,([0-9]+))*'并且s='1,2,3,4,5'我运行m = re.match(p, s, 0)我得到一个匹配(如预期的那样).但是,我希望能够打印列表('1', '2', '3', '4', '5').我似乎无法用re.match输出做到这一点.它给了我('1', ',5', '5').

另外,我如何获得匹配数量(在这种情况下为5)?

python regex

0
推荐指数
1
解决办法
401
查看次数

标签 统计

python ×2

c ×1

garbage-collection ×1

ios ×1

lex ×1

memory-leaks ×1

parsing ×1

regex ×1

yacc ×1