Python - 最短的编写方式/最具创造性的编写方式/最快的代码来处理

时间:2013-11-28 14:38:45

标签: python performance process short

探索Python。我一直在尝试通过编写最少量的代码来提高相同的功能,以此来推动我的进步,但我希望能够分析对流程速度的理解,以及对可能知之甚少的认识,但是仍然非常有用,python关键字。就这样:

  1. 写这篇文章的最短方法是什么?

  2. 写这篇文章的最佳方法是什么才能让它处理得最快?

  3. 只是为了好玩而添加一点点,这是一种不规则但有效的方法吗?

  4. 注意:虽然它可能不是一种流行的观点,但我并不关心可读性,因为我认为这取决于某种语言的技能。

    def xyFill(listObj, x, y):
        for row in listObj:
            x.append(row[0])
            y.append(row[1])
    

2 个答案:

答案 0 :(得分:5)

如果您将xy同时扩展为listObj为双值元组,则可以使用:

new_x, new_y = zip(*lintObj)
x.extend(new_x)
y.extend(new_y)

如果xy为空,我只需返回 zip(*lintObj)的输出,并让函数的调用者对此进行排序出:

def xyFill(lintObj):
    return zip(*lintObj)

x, y = xyFill(some_list)

答案 1 :(得分:2)

短代码=坏。

它曾经是好的,早在C写作的早期,真正的紧凑代码很棒。

现在一天没有!

我们编写易于阅读的代码。我们让编译器(或你的情况下的解释器)尽可能快地完成我们编写的内容。即便是Python的窥视优化器也能做到这一点。

Python非常精致且面向对象。跟着这个吧。编写要重用的代码,使用它的人可以从方法和变量的名称中知道它的作用(但不一定是它的工作原理)。

简短的密码=坏。在较低级别的语言中(因为Python绝不是一个玩具,它是一种极好的语言)我们不会为快速部件编写程序集,因为我们现在很沮丧。我们写清楚我们想要做的事情,并使用正确的算法等,不参与其余的事情。编译器可以比我们更好地分配寄存器,我们甚至不应该尝试。

Python有一个窥视孔优化器,它可以像基于堆栈的虚拟机那样获得高性能。它也有一些奇怪的前瞻和缓存。

在解释和编译的世界中, A LOT 的工作已经用于减少抽象的惩罚,因为抽象对象和代码重用=很棒的代码:)