问题标签 [del]

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 投票
2 回答
850 浏览

python - 无法在 __del__() 中引用导入的模块

我正在使用一个对象__del__()从事件中取消订阅它(使用类似于的事件方案):

奇怪的是,我在程序运行结束时收到以下错误:

这怎么可能?!my_environment是我导入的模块,怎么会是None?(events是其中带有事件挂钩的全局对象,例如my_event

0 投票
3 回答
4632 浏览

python - Python del if 在一行中的字典中

是否有一种方法可以执行以下操作?

谢谢

0 投票
4 回答
536 浏览

python - __del__ 方法在涉及循环引用时不执行

我发现__del__当涉及循环引用时,自定义方法似乎没有执行。

这是一个示例代码:

为什么会发生这种情况?

编辑: 感谢 BrenBarn。我找到了原因。

del something仅将引用计数减something1。

__del__只有当引用计数达到 0 时才会执行。

这是一个测试代码:

输出是:

又出现了一个问题:

为什么输出中的最后一行(#####deleting dc2)会发生?

发生了一些隐式del操作?

0 投票
3 回答
260 浏览

python - 如何在列表中的每次连续零运行中删除除 x 之外的所有零?

对于 Python 中列表中的每次x或多个连续零的运行,我想删除运行中的所有零,但x它们除外。如果x = 0,则删除所有零。

我在想一个 Python 函数,它接受一个列表,L和一个数字x,作为输入。

例如,让L = [7, 0, 12, 0, 0, 2, 0, 0, 0, 27, 10, 0, 0, 0, 0, 8].

  • 如果x = 0,则返回L = [7, 12, 2, 27, 10, 8]
  • 如果x = 1,则返回L = [7, 0, 12, 0, 2, 0, 27, 10, 0, 8]
  • 如果x = 2,则返回L = [7, 0, 12, 0, 0, 2, 0, 0, 27, 10, 0, 0, 8]
  • 如果x = 3,则返回L = [7, 0, 12, 0, 0, 2, 0, 0, 0, 27, 10, 0, 0, 0, 8]
  • 如果x = 4,则返回L = [7, 0, 12, 0, 0, 2, 0, 0, 0, 27, 10, 0, 0, 0, 0, 8](与原始相同L
  • 如果x >= 5,则返回原始 L,因为没有 5 个或更多连续零的运行。

任何帮助将不胜感激。

0 投票
1 回答
67 浏览

python - 如何找出应用程序在缓存中使用对象引用?

我发现很难解释我的问题,因为问题不在代码本身之内。如果您需要更多输入来更好地理解以下内容,请告诉我。

我正在使用ArcGIS调用一堆python脚本,一个接一个。脚本通过导入或继承来使用相同的类。为了初始化类,我经常使用相同的名称。我不知道ArcGIS和python之间的通信是如何实现的。但我注意到我的脚本并不总是表现得像他们应该的那样。我想当我调用第二个脚本时,对对象的引用仍然存在(即使创建对象的脚本已经完成)。

首先:我怎样才能确定我的怀疑是真的?del其次,如果是这种情况:使用or销毁对所有对象的所有引用是个好主意__del__吗?做这个的最好方式是什么?

0 投票
9 回答
29727 浏览

python - 如何从列表列表中删除第 N 个列表项(列删除)?

如何从列表列表中删除“列”?
鉴于:

我想删除“列”2以获得:

是否有slicedel方法可以做到这一点?就像是:

0 投票
5 回答
176 浏览

python - Python中的切片列表混淆

好吧,我是 Python 的超级新手,关于切片列表的事情让我很困扰。当我从这段代码中切片 [1] 和 [3] 时,为什么会得到 [1, 3, 4]?

我以为我会得到 [1, 3, 5] 回来,因为它似乎 [2] 和 [4] 正在被删除。

如果-->[1, 2, 3, 4, 5]
是-->[0, 1, 2, 3, 4]

我的逻辑在哪里搞砸了?

0 投票
4 回答
127415 浏览

python - 删除列表中的所有对象

我创建了许多对象,然后存储在一个列表中。但是我想在一段时间后删除它们,因为我创建了一个新闻并且不希望我的内存变高(在我的情况下,如果我不删除它,它会跳到 20 gigs 的内存)。

这是一个小代码来说明我想要做什么:

A 和 B 是我的对象。C 是这两个对象的列表。我正在尝试使用 C 中的 for 循环明确删除它:一次使用 DEL,另一次使用函数。这似乎不起作用,因为打印继续显示对象。

我需要这个,因为我多次创建 100 000 个对象。我第一次创建 100k 对象,第二次创建另一个 100k 但我不需要保留之前的 100k。如果我不删除它们,内存使用率会非常高,非常快。

0 投票
4 回答
10528 浏览

python - Python del 语句

del在 Python 中调用变量。这会立即释放分配的内存还是仍在等待垃圾收集器收集?就像在 java 中一样,显式调用del对何时释放内存没有影响。

0 投票
1 回答
122 浏览

python - 从python中的列表中删除对象实例

我有这个电梯任务,我被困在一个地方。我有一个包含客户列表的建筑对象。我正在尝试一种让客户进入电梯的方法 - 客户被附加到电梯列表中,但无法找到从建筑物列表中删除该客户的方法:尝试过dellist.remove(item)没有任何乐趣。谁能指出我正确的方向?