小编tkn*_*man的帖子

Python字典键."在"复杂性

快速提问主要是为了满足我对这个话题的好奇心.

我正在编写一些带有SQlite数据库后端的大型python程序,将来会处理大量的记录,所以我需要尽可能地进行优化.

对于一些函数,我在字典中搜索键.我一直在使用"in"关键字进行原型设计,并计划稍后返回并优化这些搜索,因为我知道"in"关键字通常是O(n)(因为这只是转换为python迭代整个列表并进行比较每个元素).但是,由于python dict基本上只是一个哈希映射,python解释器是否足够智能解释:

if(key in dict.keys()):
    ...code...
Run Code Online (Sandbox Code Playgroud)

至:

if(dict[key] != None):
    ...code...
Run Code Online (Sandbox Code Playgroud)

它基本上是相同的操作,但顶部是O(n),底部是O(1).

我很容易在我的代码中使用底部版本,但后来我只是好奇并且想我会问.

python complexity-theory big-o dictionary hashmap

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

这个python列表删除循环有什么问题?

今晚我已经做了很长时间的工作.但我遇到了一个简单的障碍.任何人都可以告诉我为什么这段代码按照它的方式工作?

我有两个清单.我希望list2只包含不在list1中的数字.从逻辑上讲,这似乎应该有效.但它完全没有.为什么?

list1 = [1,2,3,4,5,6,7,8]
list2 = [12,15,16,7,34,23,5,23,76,89,9,45,4]


for ch in list2:
    if ch in list1:
         list2.remove(ch)

return list2
Run Code Online (Sandbox Code Playgroud)

不知怎的,这回来了:[15,7,5,23,76,9,4]

为什么?

我怎样才能完成我的需要?

python loops list

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

获取动态创建的元素jQuery的id

我正在使用下拉列表生成一些输入字段.我现在希望输入到这些输入字段的文本能够自动更新范围.但是,由于输入字段是动态生成的,因此我很难使用jQuery

谢谢你的帮助!

HTML:

<div id="url">
    https://api.test.com<span id="endpoint" readonly="readonly"> </span>
</url>

<div class="control-group">
    <label class="control-label" for="selectbasic">Endpoint</label>
    <div class="controls">
        <select id="dropdown" name="selectbasic" class="input-xlarge">
        <option value = "none">select</option>
            <option value="id">/test/{id}</option>
            <option value="id_date">/test/{id}/{date}</option>
        </select>
    </div>
Run Code Online (Sandbox Code Playgroud)

JavaScript的:

$('#dropdown').change(function(){
    $('#textBoxContainer').empty();
    var data = $(this).find('option:selected').attr('value');
    var cleaned_data = data.split("_");
    var num_args = cleaned_data.length;
    for (var i = 0; i < num_args; i++){
        $('#textBoxContainer').append('<label class="control-label" for="textinput">' + cleaned_data[i] + '</label><br/><input id="' + cleaned_data[i] + '" name="textinput" size="25" type="text" placeholder="'+ cleaned_data[i] +'" class="input-xlarge"><br/>');
    }

});

jQuery('#date').on('input', function() {
    $('#endpoint').html('test'); …
Run Code Online (Sandbox Code Playgroud)

html javascript jquery dynamic

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

在python中复制列表列表?

我需要能够在python中复制列表列表.

所以例如现在我有一个返回列表的函数.

这始终是列表中的列表.

例如:

 myList = [[1,2,3],[4,5,6],[7,8,9]]
Run Code Online (Sandbox Code Playgroud)

现在我需要创建这个列表的两个副本(myList1和myList2),每个副本都是可分开的(例如,如果我编辑myList1,myList2将不会被编辑)

我尝试了一切.

从简单:

 myList1 = myList[:]
 myList2 = myList[:]
Run Code Online (Sandbox Code Playgroud)

更复杂的:

 myList1 = []
 for ch in myList:
      myList1.append(ch)


 myList2 = []
 for ch in myList:
      myList2.append(ch)
Run Code Online (Sandbox Code Playgroud)

什么都行不通 如果我更改一个列表中的值:

 myList1[0][0] = 10
Run Code Online (Sandbox Code Playgroud)

两个列表成为:

 [[10,2,3],[4,5,6],[7,8,9]]
Run Code Online (Sandbox Code Playgroud)

知道怎么做吗?

python list duplicates

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

在Ansible中从主机构建动态命令

我正在使用Ansible部署脚本将solr节点连接到正在运行的zookeeper集成。将solr配置链接到zookeeper的命令如下所示:

solr/scripts/cloud-scripts/zkcli.sh -zkhost 33.33.33.30:2181,33.33.33.31:2181,33.33.33.32:2181 -cmd upconfig -confdir solr/solr/collection1/conf -confname solr_config
Run Code Online (Sandbox Code Playgroud)

我想使命令尽可能动态-因此我想从清单文件中拉出Zookeeper主机。我知道总是3时就可以执行此操作,但是我希望命令根据列表中的数量进行调整。我已经尝试使用Ansibles with命令-但我无法使它正常工作,因为在最后一个主机之后我不需要逗号。

这是我的清单文件:

[zookeeper]
33.33.33.30
33.33.33.31
33.33.33.32

[solr]
33.33.33.33
33.33.33.34
33.33.33.35
Run Code Online (Sandbox Code Playgroud)

这是我没有循环的Ansible任务:

- name: SOLR | Upload Configs To Zookeeper
  command: "{{ solr.home }}/scripts/cloud-scripts/zkcli.sh -zkhost {{groups.zookeeper[0] }}:{{ zookeeper.port }}, {{ groups.zookeeper[1] }}:{{ zookeeper.port }}, {{ groups.zookeeper[2] }}:{{ zookeeper.port }} -cmd upconfig -confdir {{ solr.home }}/solr/{{ solr.collection_name }}/conf -confname {{ solr.config_name }}"
  when: inventory_hostname == groups.solr[0]
Run Code Online (Sandbox Code Playgroud)

以及如何使这种动态变化与清单中的Zookeeper主机数量有关?

command solr jinja2 ansible apache-zookeeper

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

与paypal IPN交易后发送电子邮件

我从PayPalTech.com获得了一些示例代码,并进行了编辑以满足我的需求.基本上我想要的工作就是在订单完成后将电子邮件发送给客户.我编辑了PHP代码以满足我的需求但由于某种原因它现在不再工作了.原始代码只是为了回显来自IPN的所有php变量,并在给自己的电子邮件中结束.这是我到目前为止的代码.

<?php

// read the post from PayPal system and add 'cmd'
$req = 'cmd=_notify-validate';

foreach ($_POST as $key => $value) {
$value = urlencode(stripslashes($value));
$req .= "&$key=$value";
}

// post back to PayPal system to validate

$header = "POST /cgi-bin/webscr HTTP/1.0\r\n";

// If testing on Sandbox use: 
// $header .= "Host: www.sandbox.paypal.com:443\r\n";
$header .= "Host: www.paypal.com:443\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";

// If testing on Sandbox use:
//$fp = fsockopen ('ssl://www.sandbox.paypal.com', 443, …
Run Code Online (Sandbox Code Playgroud)

php paypal paypal-ipn

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

帮助从php函数回显数组

好吧我还在学习我在PHP中的功能,但这段特殊的代码让我陷入困境.对于维基百科查询细分,转到http://www.barattalo.it/2010/08/29/php-bot-to-get-wikipedia-definitions/.我认为这看起来很有趣,我正在尝试使用提供的代码来回显函数中的数据.这就是我所拥有的:

<?php
    function wikidefinition($s) {
        $url = "http://wikipedia.org/w/api.php?action=opensearch&search=".urlencode($s)."&format=xml&limit=1";
        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_HTTPGET, TRUE);
        curl_setopt($ch, CURLOPT_POST, FALSE);
        curl_setopt($ch, CURLOPT_HEADER, false);
        curl_setopt($ch, CURLOPT_NOBODY, FALSE);
        curl_setopt($ch, CURLOPT_VERBOSE, FALSE);
        curl_setopt($ch, CURLOPT_REFERER, "");
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
        curl_setopt($ch, CURLOPT_MAXREDIRS, 4);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
        curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 6.1; he; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8");
        $page = curl_exec($ch);
        $xml = simplexml_load_string($page);
        if((string)$xml->Section->Item->Description) {
            return array((string)$xml->Section->Item->Text, (string)$xml->Section->Item->Description, (string)$xml->Section->Item->Url);
        } else {
            return "blank";
        }
    }

    $define = wikidefinition("test");
    echo $define;

?>
Run Code Online (Sandbox Code Playgroud)

但是这只是回声"数组"我知道代码正在转到if/else语句,因为如果你改变了"$ …

php arrays function echo

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