小编ale*_*sel的帖子

Python中所有可能的zip变体

例如,我有一个代码如下:

a = [1, 2]
b = [4, 5]
Run Code Online (Sandbox Code Playgroud)

我怎么能得到这样的东西:

[(1,4), (1,5), (2,4), (2,5)]
Run Code Online (Sandbox Code Playgroud)

像函数zip一样,但具有所有可能的变体.或者不是吗?

python list

23
推荐指数
4
解决办法
7557
查看次数

restful API的URI结构

我使用基本身份验证,因此URI看起来像http:// test:password@site.com/.

如果我想给所有用户,我创建一个像http:// test:password@site.com/users/的URI

但是,如果我想给特定用户,我应该使用什么地址?这应该是

http://test:password@site.com/users/test/ 
Run Code Online (Sandbox Code Playgroud)

要不就

http://test:password@site.com/test/
Run Code Online (Sandbox Code Playgroud)

或者我不知道.

我问这个问题的原因是这种类型的授权意味着URI已经包含用户名.

提前致谢.

authentication rest uri

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

Django ORM并击中DB

当我做的事情

一世. objects = Model.objects.all()

然后

II. objects.filter(field_1=some_condition)

我每次在第2步都遇到各种条件时都会点击db.有没有办法在第一个操作中获取所有数据然后只是处理结果?

django orm

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

使用子集合的mongo

对每个用户使用子集(约15)是否有任何意义?用户数量约为10k.子集中的记录量可达到2M.或者也许我应该使用常见的大型收藏?谢谢你的回答.

collections mongodb

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

列表扩展奇怪的行为

在Python(2.7)中发现了前所未有的有趣之处.

这个:

a = []
a += "a"
Run Code Online (Sandbox Code Playgroud)

工作和结果是:

>>> a
>>> ["a"]
Run Code Online (Sandbox Code Playgroud)

a = []
a = a + "a"
Run Code Online (Sandbox Code Playgroud)

>>> TypeError: can only concatenate list (not "str") to list
Run Code Online (Sandbox Code Playgroud)

有人可以解释原因吗?谢谢你的回答.

python list

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

具有旧式类的Python描述符

我试图谷歌一些关于它的东西.为什么非数据描述符适用于旧式类?

Docs说它们不应该:
" 请注意,描述符只能用于新的样式对象或类(子类object()或子类type()). "

class Descriptor(object):
    def __init__(self):
        self.x = 1

    def __get__(self, obj, cls=None):
        return self.x


class A:
    x = Descriptor()

a = A()
a.x

>>> 1
Run Code Online (Sandbox Code Playgroud)

谢谢.

python class descriptor

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

Python,使用列表推导

我有这样的代码:

a = [[1, 1], [2, 1], [3, 0]]
Run Code Online (Sandbox Code Playgroud)

我想得到两个列表,第一个包含元素'a',where a[][1] = 1和第二个元素where a[][1] = 0.所以

first_list = [[1, 1], [2, 1]] 

second_list = [[3, 0]]. 
Run Code Online (Sandbox Code Playgroud)

我可以用两个列表理解来做这样的事情:

first_list = [i for i in a if i[1] == 1]

second_list = [i for i in a if i[1] == 0]
Run Code Online (Sandbox Code Playgroud)

但也许存在其他(更多pythonic或更短)的方式来做到这一点?谢谢你的回答.

python list-comprehension list

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

Python列表及其拆分

例如,我有这样的代码

a = ["a;b", "c;d",...,"y;z"]
Run Code Online (Sandbox Code Playgroud)

我想将每个列表元素拆分为同一列表中的项目.所以我想得到这样的东西:

["a", "b", "c", "d", ...., "y", "z"]
Run Code Online (Sandbox Code Playgroud)

我该怎么办?谢谢你的回答.

python list

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

Python,从元组列表中删除重复项

我有以下列表:

[('mail', 167, datetime.datetime(2010, 9, 29)) , 
 ('name', 1317, datetime.datetime(2011, 12, 12)), 
 ('mail', 1045, datetime.datetime(2010, 8, 13)), 
 ('name', 3, datetime.datetime(2011, 11, 3))]
Run Code Online (Sandbox Code Playgroud)

并且我想从列表中删除项目,其中元组中的第一项是重合的,其中日期不是最新的.换句话说,我需要得到这个:

[('mail', 167, datetime.datetime(2010, 9, 29)) , 
 ('name', 1317, datetime.datetime(2011, 12, 12))]
Run Code Online (Sandbox Code Playgroud)

python items list

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

芹菜分割故障

当进程(芹菜工作者)导致分段错误错误时,我该怎么办?在我的情况下问题在芹菜中引起,但我不知道如何找到哪个模块(在任务中使用)有一个损坏的代码.链接到一些有关问题的其他信息 - https://github.com/ask/celery/issues/690.换句话说,gdb中的哪个命令可以提供有用的信息,或其他配方来解决此问题.

谢谢你的回答.

python gdb celery

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

python oop多态性

我无法理解为什么这段代码:

class A(object):
    def __init__(self):
        self.__value = 1
    def get_value(self):
        return self.__value

class B(A):
    def __init__(self):
        A.__init__( self )
        self.__value = 2

b = B()

print b.get_value()
Run Code Online (Sandbox Code Playgroud)

给出1,但不是2.感谢您的帮助.

python oop polymorphism

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

python垃圾收集器和列表

在Python 2.7中有关于垃圾收集的问题.为什么这个代码

class A:
    def __init__(self, name):
        self.name = name
    def __del__(self):
          print self.name,

aa = [A(str(i)) for i in range(10)]

del aa
Run Code Online (Sandbox Code Playgroud)

给出输出9 8 7 6 5 4 3 2 1 0而不是0 1 2 3 4 5 6 7 8 9或任何其他排列.

python garbage-collection list

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

Java构造函数问题

我无法弄清楚为什么这段代码:

class HelloWorld
{
    HelloWorld()
    {
        System.out.println("1 cnstr ");
    }

    public static void main(String[] args)
    {
        HelloWorld a = new HelloWorld();
    }


    {
        System.out.println("2 cnstr ");
    }
}
Run Code Online (Sandbox Code Playgroud)

给我输出:

2 cnstr
1 cnstr
Run Code Online (Sandbox Code Playgroud)

为什么线路System.out.println("2 cnstr ");工作?它是什么类型的块?我使用jdb并发现在构造函数中的任何行之前JVM开始阻塞此行HelloWorld().

谢谢你的帮助.

java constructor

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