小编Man*_*ain的帖子

"del"究竟做了什么?

这是我的代码:

from memory_profiler import profile

@profile
def mess_with_memory():
    huge_list = range(20000000)
    del huge_list
    print "why this kolaveri di?"
Run Code Online (Sandbox Code Playgroud)

当我从解释器运行时,这就是输出:

Line#Mem使用增量行内容

 3      7.0 MiB      0.0 MiB   @profile
 4                             def mess_with_memory():
 5                             
 6    628.5 MiB    621.5 MiB       huge_list = range(20000000)
 7    476.0 MiB   -152.6 MiB       del huge_list
 8    476.0 MiB      0.0 MiB       print "why this kolaveri di"
Run Code Online (Sandbox Code Playgroud)

如果你注意到输出,创建巨大的列表消耗621.5 MB,而删除它只需释放152.6 MB.当我检查文档时,我发现了以下声明:

the statement del x removes the binding of x from the namespace referenced by the local scope
Run Code Online (Sandbox Code Playgroud)

所以我猜,它并没有删除对象本身,而只是取消绑定它.但是,它在解除绑定方面做了什么呢?它释放了如此多的空间(152.6 MB) …

python memory python-internals

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

理解Vue实例的生命周期

我正在阅读 Vue.js 的官方文档,并找到了有关 Vue 实例生命周期中不同阶段和步骤的图表。了解Vue的基本特性,但无法理解图中提到的许多阶段的含义。例如,“将模板编译为渲染函数”或“虚拟 DOM 重新渲染和补丁”。我不知道他们的意思。

我知道文档中说您现在不需要完全理解所有内容,但我希望某些 Vue(或前端)专家可以用简单的语言简要解释这些步骤。

vue.js vuejs2

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

找到具有最低分数的所需项目的集合

我正在解决一个问题,而且我在某个方面遇到了我的数据结构.这是问题所在:

我有一个n 元组列表(每个元组包含一组项目和与该组相关的权重).元组内的集合可以包含任意数量的项目(或根本没有项目).另外,我有一套包含所有需要的项目.让我举一个数据样本,以进一步澄清:

desired_set = set(['item1', 'item2', 'item3'])

list_of_tuples = [
                  (12.0, set(['item1', 'item3'])),
                  (3.5, set(['item3'])),
                  (5.0, set(['item2'])),
                  (7.2, set(['item1'])),
                  (10.0, set(['item2', 'item3']))
                 ]
Run Code Online (Sandbox Code Playgroud)

现在,我需要组合这些集合以获得所有可能的所需集合.当这些组合在一起时,它们的重量将会增加.例如,对于以上数据:

(12.0, set(['item1', 'item3']))(5.0, set(['item2']))会给(17.0, set(['item1', 'item2', 'item3']))

(5.0, set(['item1'])),(7.2, set(['item2']))(3.5, set(['item3']))会给(15.7, set(['item1', 'item2', 'item3']))

(7.2, set(['item1']))(10.0, set(['item2', 'item3']))会给(17.2, set(['item1', 'item2', 'item3']))

我需要在新列表中获取所有这些可能的元组(其中set与desired_set相同),以便我可以找到具有最小分数的元组.非常感谢任何帮助(代码,算法,建议,指导).

python algorithm data-structures

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

Vim'早期'和'后'命令没有按预期工作

通过首先看时间在Vim的也即行驶的命令ea {N}slat {N}s,我想这将是非常简单的.但是,它并不像预期的那样对我有用,现在我完全糊涂了.这就是发生的事情.

我解雇了我的Vim,并开始编写以下几行

say, first line written at time 5
second line written after a pause of 5 seconds may be around time 18
third line again after a pause of 5 seconds around 30
Run Code Online (Sandbox Code Playgroud)

所以,假设如果我开始写作00:00:00,我完成了第1行00:00:05,然后我暂停了一下5 seconds,然后完成第2行00:00:18,然后再次暂停约5秒,并完成最后的第3行00:00:30.然后我想到了一个早先的状态,持续了5秒,但是当我这样做时:ea 5s,我留下了以下内容:

say, first line written at time 5
Run Code Online (Sandbox Code Playgroud)

vim底部的线说

2 fewer lines; before #2  67 seconds ago
Run Code Online (Sandbox Code Playgroud)

而我真的很困惑.然后,我检查了ea /之前命令的帮助,我看到了这个:

:earlier {N}s       Go to older text state …
Run Code Online (Sandbox Code Playgroud)

vim

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