小编C.B*_*.B.的帖子

如果set为空,则返回布尔值

如果我的函数在函数结束时为空,我正在努力寻找一种更简洁的返回布尔值的方法

我取两组的交集,并希望返回TrueFalse基于结果集是否为空.

def myfunc(a,b):
    c = a.intersection(b)
    #...return boolean here
Run Code Online (Sandbox Code Playgroud)

我最初的想法是做

return c is not None
Run Code Online (Sandbox Code Playgroud)

但是,在我的翻译中,我可以很容易地看到该语句将返回true c = set([])

>>> c = set([])
>>> c is not None
True
Run Code Online (Sandbox Code Playgroud)

我也尝试了以下所有方法:

>>> c == None
False
>>> c == False
False
>>> c is None
False
Run Code Online (Sandbox Code Playgroud)

现在,我已经从我只能用文档阅读and,or以及not与空集来推断一个布尔值.到目前为止,我唯一能想到的就是回归而不是c

>>> not not c
False
>>> not c
True
Run Code Online (Sandbox Code Playgroud)

我有一种感觉,有更多的pythonic方式来做到这一点,我正在努力找到它.我不想将实际的设置返回到if语句,因为我不需要值,我只想知道它们是否相交.

python python-2.7

62
推荐指数
5
解决办法
9万
查看次数

Django form.as_p DateField没有将输入类型显示为日期

在我的第一个django应用程序上工作,我有一个模型定义了一些DateFields,然后是一个ModelForm模型,即

models.py

class MyModel(models.Model):
    ...
    my_date = models.DateField('my date')
    ...

class MyModelForm(ModelForm):
    class Meta:
        model = MyModel
        fields = '__all__'
Run Code Online (Sandbox Code Playgroud)

views.py

def show(request):
    form = MyModelForm
    template_name = 'myapp/show.html'
    return render(request,template_name,{'form':form})
Run Code Online (Sandbox Code Playgroud)

然后在我的HTML中我使用.as_pdjango为我渲染表单

<form action="/show/" method="post">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Submit" />
</form>
Run Code Online (Sandbox Code Playgroud)

但是DateFields有输入类型文本,而不是日期.有没有办法改变这个?

python django django-forms

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

Java 8以一流公民的身份跳舞吗?

因此,我中的函数程序员喜欢像python这样的语言,它们将函数视为一等公民。看起来Java 8承受了压力,而诸如lambda表达式和方法引用之类的“已实现的”东西则被淘汰了。

我的问题是,Java是否正在使用一流的函数,或者这真的只是语法糖,以减少实现匿名类/接口(如可运行的接口)所需的代码量?(我的肠子说后者)。

我理想的情况

Map<String,DoubleToDoubleFunc> mymap = new HashMap<String,DoubleToDoubleFunc>();
...
mymap.put("Func 1", (double a, double b) -> a + b);
mymap.put("Func 2", Math::pow);
...
w = mymap.get("Func 1")(y,z);
x = mymap.get("Func 2")(y,z);
Run Code Online (Sandbox Code Playgroud)

java first-class-functions java-8

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

Python列表的所有排列

嘿,我有一个列表,我希望得到它的所有不同的排列,即[A,B,C].

我想要它的所有不同组合.像[A,C,B],[B,A,C],[B,A,C],[C,A,B]和[C,B,A]我尝试使用itertools.combinations,我得到所有组合只是没有使用所有字母的组合.

matriks = ["A","B","C"]
    combs=[]
    for i in xrange(1, len(matriks)+1):
    els = [list(x) for x in itertools.combinations(matriks, i)]
    combs.append(els)
print(combs)
Run Code Online (Sandbox Code Playgroud)

这给出了以下输出

[[['A'], ['B'], ['C']], [['A', 'B'], ['A', 'C'], ['B', 'C']], [['A', 'B', 'C']]]
Run Code Online (Sandbox Code Playgroud)

python sorting swap list python-itertools

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