小编Lee*_*var的帖子

组合两个列表并删除重复项,而不删除原始列表中的重复项

我有两个列表需要组合,其中第二个列表忽略第一个列表的任何重复...有点难以解释,所以让我展示一下代码的样子,以及我想要的结果.

first_list = [1, 2, 2, 5]

second_list = [2, 5, 7, 9]

# The result of combining the two lists should result in this list:
resulting_list = [1, 2, 2, 5, 7, 9]
Run Code Online (Sandbox Code Playgroud)

您会注意到结果具有第一个列表,包括其两个"2"值,但second_list还具有额外的2和5值的事实未添加到第一个列表中.

通常对于这样的事情,我会使用集合,但first_list上的一个集合将清除它已有的重复值.所以我只想知道实现这种理想组合的最佳/最快方法.

谢谢.

python list

86
推荐指数
7
解决办法
13万
查看次数

如何在没有templateUrl的情况下路由?

好.我有一个网址设置来记录用户.在服务器上,没有html.服务器上的会话只是被破坏,然后用户被重定向到一个地址.

这与普通的HTML工作正常,但与Angular我有问题.我一直在使用所有主要路由,$routeProvider.when('/foo', {templateUrl: '/foo.html', controller: 'Ctrl'})并且对于正常的模板化路由工作正常..但是,如果没有模板,它将无法工作.

那么,/logout当没有html模板时,我如何以与上面相同的方式支持路由?

url logout angularjs

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

HTML5 PUT/DELETE方法在Chrome中不起作用?

我试图弄清楚为什么在启用HTML5的网站中,put/delete方法无法与Chrome一起使用.从我搜索到的内容来看,它听起来像Chrome已经有一段时间了,所以说我只是想找几个指针来缩小我的问题范围.也许我正在执行错误的表单,也许我的doctype是错误的,谁知道.任何帮助表示赞赏:)

所以,代码看起来像这样:

<!DOCTYPE html> 
<html> 

 <head> 
        <title> 
            some_resource
        </title> 
    </head> 
    <body> 
  <div class="content"> 
  <form method="put" action="/some_resource"> 
   <div> 
    <input id="title" name="title" placeholder="The Resource Title" type="text" value="" autofocus /> 
   </div> 
   <div> 
    <textarea id="body" name="body" placeholder="The Resource Body" required></textarea> 
   </div> 
   <div> 
    <input id="submit" name="submit" type="submit" value="Submit" /> 
   </div> 
   <!-- Resource Settings --> 
   <ul> 
    <li> 
     <input id="listed" name="listed" type="checkbox" value="y" /> 
    </li> 
    <li> 
     <input id="template" name="template" type="text" value="resource.html" /> 
    </li> 
   </ul> 
  </form> 
  </div> 
    </body> 
</html>
Run Code Online (Sandbox Code Playgroud)

只是表单的基本测试.现在我已经在最新的Ubuntu Firefox(3.6.7),Opera(10.60内部)以及谷歌最新的Linux Chrome Beta(5.0.375.99 beta)上尝试过.当我提交表单时,他们似乎都没有向服务器发送正确的put方法.现在,我相信(不是来自任何特定的研究)Firefox尚未支持这一点,并且像许多HTML5一样,它计划用于下一版本的FF.Opera我不知道,但我经常听说它与Chrome保持同步.所以..是的,我有点困惑.

提交表单时,他们会转到网址:http://localhost:8080/some_resource?title=t&body=b&submit=Submit&template=resource.html.请注意,正如预期的那样,POST工作正常.

现在有没有人有任何指针让put方法有效?有可能Linux版的测试版还没有更新到Windows版本( …

html5 google-chrome http

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

锁定一个分支,以便它不能被分阶段/提交到?(仅合并/等)

我有一个我喜欢的master/ develop分支系统,但它带有一个基本规则.没有提交developmaster仅进行合并.这很棒,但最近我不小心对我的开发分支进行了一些更改/提交,它让我失去了焦油.

我考虑将这些提交的所有权转移develop到另一个已经存在的分支(我们称之为work),这是我应该首先处理的那个,但我决定让这一个去.相反,我想先解决这个问题.如何锁定一个分支,以便提交对传统的正常更改不起作用?

例如,如果您在"锁定"分支上进行了更改,那么您git add也不可能git commit -a.我认为技术上我要求锁定舞台,但你明白了.有什么想法吗?或者我会更好地学习git,我知道如何解决提交父问题?

git

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

如何禁用angulars类型=电子邮件验证?

您将如何禁用或至少更改Angular如何验证type = email输入?

目前,如果你使用type = email,Angular本质上是双重验证..因为浏览器(在这种情况下是Chrome)验证电子邮件,然后angular也是.不仅如此,Chrome foo@bar中的有效内容在Angularjs中无效.

我能找到的最好的,是ng-pattern,但ng-pattern只是为输入类型添加第三个模式验证..而不是取代Angular的电子邮件验证.嘿嘿

有任何想法吗?

angularjs

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

WTForms ... html,自动对焦?

是否可以在WTForms内部使用HTML5中使用的一些新属性属性?

例如,假设您要使用占位符="foo",必需和自动聚焦属性创建TextField.如何在WTForms中完成?

在HTML中它看起来像这样: <input maxlength="256" name="q" value="" placeholder="foo" autofocus required>

请注意,placeholder="foo"在WTForms中很容易完成.autofocus并且required,因为它们没有价值,所以......好吧,就我所见,在WTForms中不受支持.

WTForms可以支持吗?

python wtforms

9
推荐指数
2
解决办法
4423
查看次数

程序结构设计工具?(自上而下设计)

我一直在寻求扩展我的方法以更好地参与单元测试,我偶然发现了行为驱动设计(即黄瓜和其他一些).我对这个概念非常感兴趣,因为我从来没有能够正确设计自上而下,只是因为没有一个体面的记录方式来记录设计.

所以在那个注释中,以一种主要与语言无关的方式,我是否(可能)没有意识到有任何有用的工具?例如,我经常试图为我的程序尝试构建流程图,但我不确定这会有多大帮助,而且我似乎有点困惑我如何制作一个足够复杂的流程图来处理逻辑完整的程序,以及它的所有功能......也就是说,它似乎只是流程图在设计方案中会受到限制......或者可能会增长到一个不可维护的规模.BDD方法很好,但是系统与结构紧密相关,绑定到语言和单元测试似乎是必须的(因为它值得)并且似乎很难找到适合 Python的东西和Java(我的两种主要语言).

所以无论如何..在那个说明,任何评论都非常感谢.我在这里搜索过,似乎自上而下的设计是一个讨论得很好的话题,但我没有看到过多的工具本身的参考,例如流程图程序等.我在Linux上,如果它很重要(在程序的情况).

language-agnostic design-patterns

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

如何获取窗口的唯一标识符?

我试图为窗口获取某种唯一标识符,以便可以针对该窗口运行命令.

即,如果我需要给那个窗口焦点..或者如果我需要看到那个窗口的大小..等问题是目前似乎窗口号被用作这个标识符,但这个数字可能随时改变引入了一个新窗口.看起来它是一个从左到右,从上到下的索引计数...这让我很困惑,为什么它会被用作标识符.

看到我不知道用户可能对布局做了什么..我怎么能保证当我指定一个窗口缓冲区,或获取有关窗口的信息时,我实际上获得了有关我想要的窗口的信息?

vim

6
推荐指数
2
解决办法
1704
查看次数

将列表转换为dict的最佳方法,其中键是每个对象的值?

我试图获取一个对象列表,并将该列表转换为一个字典.dict值将是列表中的每个对象,而dict键将是在每个对象中找到的值.

这是一些代表我在做什么的代码:

class SomeClass(object):

    def __init__(self, name):
        self.name = name

object_list = [
    SomeClass(name='a'),
    SomeClass(name='b'),
    SomeClass(name='c'),
    SomeClass(name='d'),
    SomeClass(name='e'),
]

object_dict = {}
for an_object in object_list:
    object_dict[an_object.name] = an_object
Run Code Online (Sandbox Code Playgroud)

既然代码有效,但它有点难看,而且有点慢.谁能举一个更快/更好的东西的例子?

编辑: 好的,谢谢你的回复.我必须说我很惊讶地看到更多的pythonic方式看起来比手工制作方式慢.

edit2: 好吧,我更新了测试代码,使其更具可读性,并进行了如此多的测试.

这里是我们在代码方面的位置,我把作者放在代码中,如果我搞砸了,请告诉我.

from itertools import izip
import timeit

class SomeClass(object):

    def __init__(self, name):
        self.name = name

object_list = []

for i in range(5):
    object_list.append(SomeClass(name=i))

def example_1():
    'Original Code'
    object_dict = {}
    for an_object in object_list:
        object_dict[an_object.name] = an_object

def example_2():
    'Provided by hyperboreean'
    d = …
Run Code Online (Sandbox Code Playgroud)

python

5
推荐指数
3
解决办法
512
查看次数

不要忽略子目录中的文件?

我有以下.gitignore文件

*.pyc

project/app/dist/*
project/bin/*
project/etc/*
project/var/*

!README.txt
Run Code Online (Sandbox Code Playgroud)

到目前为止这么好,我的大多数README.txt文件都没有被忽略,就像我希望它发生的那样除了project/ect/downloads/README.txt.那个文件被忽略了.为什么是这样?我该如何解决这个问题?

如果我没记错的话,我可以简单地手动将它添加到我的项目中,但是我想知道我在忽略文件时做错了什么.

git

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