小编Ter*_*ole的帖子

停止列表选择?

想象一下,我有一个元组的顺序列表:

s = [(0,-1), (1,0), (2,-1), (3,0), (4,0), (5,-1), (6,0), (7,-1)]
Run Code Online (Sandbox Code Playgroud)

给定一个参数X,我想选择所有第一个元素等于或大于X但不包括第一个元组的元组,第一个元组具有-1作为第二个元素.

例如,如果X = 3,我想选择列表[(3,0), (4,0)]

我的一个想法是:获取切断键

E = min (x [0] for x in s if (x [0] >= X) and (x [1] == -1) )
Run Code Online (Sandbox Code Playgroud)

然后在X和之间选择带键的元素E:

R = [x for x in s if X <= x [0] < E]
Run Code Online (Sandbox Code Playgroud)

这给了我在R中想要的东西,但它似乎效率很低,涉及两次表扫描.我可以在for循环中执行它,丢弃键太小的元组,并在我击中第一个阻塞元组时中断.但对于像狗一样的跑步与列表选择相比.

这样做是否有超高效,python-esque(2.7)方式?

python list python-2.7

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

Python 2.7中极慢的对象实例化

我最近不得不完成一项使用了大量坐标操作的任务.为了节省时间并简化我的代码,我定义了一个类来封装坐标对的行为.这堂课看起来像这样:

class Vector (tuple) :
    def __init__ (self, value) :
        tuple.__init__ (self, value)


    def __add__ (self, other) :
        return Vector ((self [0] + other [0], self [1] + other [1]))
Run Code Online (Sandbox Code Playgroud)

这允许我编写这样的代码(例如):

def translate (pointList, displacement) :
    return [point + displacement for point in pointList]
Run Code Online (Sandbox Code Playgroud)

但我的申请非常缓慢.比其他任务慢得多.我找不到算法实现中的任何低效率,所以我做了一个简单的测试来看看Vector类的开销是多少.我预计在5%到15%之间.

我对Vector类的测试看起来像这样:

v = Vector ((0, 0))
d = Vector ((1, -1))
loopIdx = 3000000
while loopIdx > 0 :
    v = v + d
    loopIdx -= 1
print (v)
Run Code Online (Sandbox Code Playgroud)

这种情况(通常)在这种情况下运行:

real    0m8.440s
user    0m8.367s
sys …
Run Code Online (Sandbox Code Playgroud)

python performance overhead python-2.7

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

是否可以使用Archer T4UH USB无线适配器的Linux驱动程序?

TP-Link无线适配器仅提供Windows驱动程序.TP-Link没有提供驱动程序,也没有表明他们打算这样做.

有第三方驱动程序吗?

linux usb driver wifi

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

标签 统计

python ×2

python-2.7 ×2

driver ×1

linux ×1

list ×1

overhead ×1

performance ×1

usb ×1

wifi ×1