问题列表 - 第9489页

python列表函数的运行时复杂性是多少?

我正在写一个看起来像这样的python函数

def foo(some_list):
   for i in range(0, len(some_list)):
       bar(some_list[i], i)
Run Code Online (Sandbox Code Playgroud)

所以它被称为

x = [0, 1, 2, 3, ... ]
foo(x)
Run Code Online (Sandbox Code Playgroud)

我曾经假设列表的索引访问是O(1),但是很惊讶地发现,对于大型列表,这比我预期的要慢得多.

那么,我的问题是如何实现python列表,以及下面的运行时复杂性是什么

  • 索引: list[x]
  • 从最后弹出: list.pop()
  • 从一开始就弹出: list.pop(0)
  • 扩展名单: list.append(x)

额外的功劳,拼接或任意流行音乐.

python complexity-theory

42
推荐指数
3
解决办法
3万
查看次数

如何将DateTime转换为Date

我怎样才能转换DateDateTime反之亦然?

例如

Date dt = new Date();
Run Code Online (Sandbox Code Playgroud)

现在我想转发它DateTime.

DateTime dtim = new DateTime();
Run Code Online (Sandbox Code Playgroud)

现在我想将它转换为Date.

java datetime jodatime

21
推荐指数
2
解决办法
7万
查看次数

在高冲突环境中以编程方式包含JQuery -

我正在编写一段代码,要放在任何第三方网站上,并且不知道它将被放入什么环境.我的最终目标是获得徽章

<script src="http://example.com/js/badge.js"></script>
Run Code Online (Sandbox Code Playgroud)

我想在我的徽章代码中使用jQuery来让我的生活更轻松,但我不想在客户端需要另一个包含(在客户端获得任何更新是一件痛苦的事).

这是我能想到的最好的.我不想在我的脚本之前或之后的任何事情受到任何剩余变量或奇怪碰撞的影响.有没有人看到任何问题?

(function() {
    function main($) {
        // do stuff with $
        $(document.body).css("background", "black")
    }

    // If jQuery exists, save it
    var old_jQuery = null;
    if (typeof(jQuery) != "undefined") {
        if (typeof(jQuery.noConflict) == "function") {
            old_jQuery = jQuery.noConflict(true);
        }
    }

    var addLibs = function() {
        // Body isn't loaded yet
        if (typeof(document.body) == "undefined" || document.body === null) {
            setTimeout(addLibs, 100);
            return;
        }

        var node = document.createElement("script");
        node.src = "http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js";
        document.body.appendChild(node);
        checkLibs();
    }

    var checkLibs = function() …
Run Code Online (Sandbox Code Playgroud)

javascript scripting jquery include

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

编写单元测试用于持久数据创建和删除

在为持久存储的数据编写测试时,我想出了一个测试:

[TestMethod]
public void DoCreateDeleteTest() {
    PersistentDataStore pds = new PersistentDataStore();
    bool createSuccess = pds.Save("id", "payload");
    Assert.AreEqual(true, createSuccess);
    bool deleteSuccess = pds.Delete("id");
    Assert.AreEqual(true, deleteSuccess);
}
Run Code Online (Sandbox Code Playgroud)

只要一切正常,这似乎很好.该函数没有先前的依赖关系,它会自行清理.问题是:当.Save()方法执行保存但返回false/failure时.断言触发并且不调用删除,因此它不会自行清理.

在此之后,数据库中存在名为"id"的持久数据,并且所有将来的保存都将失败.

我能想到解决它的唯一方法是在保存之前进行预防性删除,但这似乎是一种大规模的破解方式.

c# database unit-testing

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

Erlang中的PDF处理库

我正在寻找用Erlang编写的PDF处理库,但我还是找不到.ErlGuten,我找到的唯一一个库只能生成PDF而不能处理它们.谁知道这样的图书馆?

pdf erlang

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

Scala actor作为单线程队列

我想在一个程序中使用actor,我会对某些演员有一些限制,好像他们是队列一样.例如,假设我有一些应用了更改事件的外部系统,还有一些外部系统数据的缓存.所以我有两个演员:

  1. ChangeApplicationActor
  2. CacheActor

作为一部分ChangeApplicationActor,当我将更改应用于X外部系统中的某个实体时,我想发送一些事件来告诉CacheActor同步:

val changeApplicationActor = actor { 
  loop {
    react {
      case ChangeInstruction(x) => 
        externalSystem.applyChange(x)
        cacheActor ! Sync(x)
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

但我现在有两个要求:

  1. CacheActor具有内部状态和理想,我想它来处理其Sync指令顺序
  2. 如果我最终收到CacheActor包含两个Sync(x)相同值的指令的收件箱x,那么我想忽略第二个Sync指令(即我应该只有一个挂起的指令用于任何给定的值x)

有没有办法强迫演员单线程?有什么方法可以访问演员的邮箱并删除任何重复的事件?难道我不能避免实施CacheActoras,嗯,不是演员吗?

scala message-queue concurrent-processing actor

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

双字符串转换和语言环境

一个常见的国际问题是字符串中表示的双值的转换.这个东西在很多地方都有发现.

从调用的csv文件开始

comma separated
Run Code Online (Sandbox Code Playgroud)

要么

character separated
Run Code Online (Sandbox Code Playgroud)

因为有时它们会被存储起来

1.2,3.4
5.6,6.4
Run Code Online (Sandbox Code Playgroud)

在英语地区或

1,2;3,4
5,6;6,4
Run Code Online (Sandbox Code Playgroud)

例如德国地区.

从这个背景来看,有必要知道大多数std ::方法都依赖于语言环境.因此在德国,他们会将"1,2"读作1.2并将其写回"1,2",但使用英语操作系统时,它将"1,2"读为1并将其写回为"1".

由于语言环境是应用程序的全局状态,因此将其切换到其他设置并不是一个好主意.当我必须在英语机器上读取德语CSV文件或反之亦然时,我们遇到了一些问题.

在所有机器上编写行为相同的代码也很困难.C++流允许每个流的区域设置.

class Punctation : public numpunct<wchar_t>
{
public:

  typedef wchar_t char_type;
  typedef std::wstring string_type;

  explicit Punctation(const wchar_t& decimalPoint, std::size_t r = 0) : 
    decimalPoint_(decimalPoint), numpunct<wchar_t>(r)
  {
  }

  Punctation(const Punctation& rhs) : 
    decimalPoint_(rhs.decimalPoint_) 
  {
  }

protected:

  virtual ~Punctation() 
  {
  };

  virtual wchar_t do_decimal_point() const 
  { 
    return decimalPoint_; 
  }

private:

  Punctation& operator=(const Punctation& rhs);

  const wchar_t decimalPoint_;
};

...

std::locale newloc(std::locale::classic(), new Punctation(L','));
stream.imbue(newloc);
Run Code Online (Sandbox Code Playgroud)

将允许您使用std …

c++ locale decimal decimal-point

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

我可以跟踪python脚本中执行的所有函数/方法吗?

有没有办法以编程方式跟踪所有python函数/方法的执行?我想看看他们每个人被调用的论点.我真的是指所有人,我对跟踪装饰师不感兴趣.

在Ruby中,我可以为我想要的方法添加别名,并在那里添加额外的行为.

python debugging trace

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

Visual Studio 2005/2008 IDE(解决方案资源管理器中的自动选择文件)

我有一些非常大的解决方案(很多项目,很多文件).我想知道当从打开的文档中选择文档(浏览选项卡)时,是否可能在解决方案资源管理器树视图中选择当前文件.

visual-studio

10
推荐指数
2
解决办法
2347
查看次数

为什么DockPanel.Dock ="Bottom"将元素放在顶部?

以下代码将两个文本元素放在顶部,即使第二个文本元素标记为"Bottom".背景颜色一直到底部,所以DockPanel似乎伸展到底部.

我对DockPanel的理解是什么?

<Window x:Class="TestIndexer934.Views.MainView"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:c="clr-namespace:TestIndexer934.Commands"
    Title="Main Window" Height="400" Width="800">
    <DockPanel HorizontalAlignment="Left" Background="Beige">
        <TextBlock DockPanel.Dock="Top" Text="Testing top"/>
        <TextBlock DockPanel.Dock="Bottom" Text="Testing bottom"/>
    </DockPanel>
</Window>
Run Code Online (Sandbox Code Playgroud)

wpf xaml dockpanel

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