小编Kem*_*eia的帖子

为什么删除元素比添加元素花费更多时间?

我有一个有很多行的表(如10.000).
(注意:我意识到有一个很大的表是没有意义的,但我想了解下面的行为).
当我收到新数据时,我想先清除行.奇怪的是,清除表格比从头开始构建行需要更长的时间.使用html("")或普通JS 清除表行innerHTML = ""需要1.5分钟,远远超过构建行本身,这需要不到一秒钟.

所以我的问题是:
- 为什么删除元素比添加它们需要更多时间?"幕后"会发生什么?
(请注意我的问题是为什么一个,我不是在寻找可能的解决方法).

更新:

我注意到表行和单元格已经应用了浮动定义,当我删除浮动时,表格在实例中被清空.
我仍然非常想理解为什么 float会使行的删除速度变慢.
这里有一个小提琴:https://jsfiddle.net/maaikeb/t5pduuue/
在Chrome中,清空表需要25秒,只需23 毫秒即可将其附加到DOM.

*我阅读了以下帖子,但他们更多地讨论了可能的解决方案,而不是为什么删除元素比添加元素需要更多时间,删除它们时实际发生的情况

jQuery空是非常慢
jQuery空的很慢
是什么是用jQuery删除表行的最佳方法?
在javascript jquery中删除表行
- 从非常大的表中删除所有行的最快方法

html javascript performance jquery dom

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

Pandas - 在 DataFrame 中的任何位置查找值的索引

我是 Python 和 Pandas 的新手。

我想security_id在我的 Pandas 数据框中找到某个值(假设)的索引,因为那是列开始的地方。(列上方有未知数量的行带有无关数据,左侧还有许多空“列”。)

据我所知,isin方法只返回一个关于值是否存在的布尔值,而不是它的索引。

我如何找到这个值的索引?

python pandas

11
推荐指数
2
解决办法
4万
查看次数

Pycharm 无法识别项目包

Pycharm 无法识别我的项目模块的包。

在此处输入图片说明

我注意到已经有很多关于此的问题,但是我尝试了所有给定的解决方案,但没有任何效果。

我试过:
- Mark directory as source root& 检查Add sources root to pythonpath
- 打开一个不同的项目,然后重新打开原来的项目,使 pycharm 重新索引包

有什么建议?

回顾了以下问题
PyCharm 无法识别安装在开发模式下的模块
Pycharm 无法识别包,即使 __init__.py 退出

python pycharm

8
推荐指数
3
解决办法
4222
查看次数

Django 立即测试模拟日期时间

我有一个 Django 测试,我需要模拟 datetime.now(),因为它测试的视图使用 datetime.now()

\n\n

我正在使用 Michael Foord 的模拟库,版本 1.0.1。
\n我正在寻找一种不使用其他库(例如 freezegun)的解决方案。

\n\n

大多数例子都是这样的,这个导入 datetime 并覆盖它,但我正在导入 datetime.datetime 并尝试覆盖它,由于某种原因,这不起作用。

\n\n

覆盖日期时间的工作原理:

\n\n
import mock\nimport datetime\n\nclass FixedDate(datetime.datetime):\n\n    @classmethod\n    def now(cls):\n        return cls(2010, 1, 1)\n\n@mock.patch(\'datetime.datetime\', FixedDate)\ndef myTest():\n    print(datetime.datetime.now())\n\nmyTest()\n
Run Code Online (Sandbox Code Playgroud)\n\n

但我想导入 datetime.datetime 并执行以下操作:

\n\n
import mock\nfrom datetime import datetime\n\nclass FixedDate(datetime):\n\n    @classmethod\n    def now(cls):\n        return cls(2010, 1, 1)\n\n@mock.patch(\'datetime\', FixedDate)\ndef myTest():\n    print(datetime.now())\n\nmyTest()\n
Run Code Online (Sandbox Code Playgroud)\n\n

这会导致 TypeError: Need a valid target to patch. 您提供了:“日期时间”。

\n\n

模拟库还指出:

\n\n
\n

target 应该是 \xe2\x80\x98package.module.ClassName\xe2\x80\x99 形式的字符串。目标被导入,指定的对象被新对象替换,因此目标必须可以从您调用补丁的环境中导入。

\n …

python django datetime unit-testing python-mock

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