【发布时间】:2013-08-30 19:37:52
【问题描述】:
有没有办法做同样的事情
for i in range(len(x) // 4):
a, b, c, d = x[i*4: i*4+4]
使用单行 lambda。是的,我想使用 lambda。
【问题讨论】:
-
我只想说我认为在这里使用 lambda 是一个糟糕的选择。它只会降低可读性。除非您正在玩代码高尔夫,否则我认为没有理由这样做。仅仅因为某件事在一条线上并不能使它运行得更快。
-
我使用 exec 将整个函数放入 lambda,但是它只返回循环中的第一项而不是所有项。你可以说它的外观
-
这段代码除了分配
a、b、c和d之外什么都不做——这就是你想在一行中发生的事情吗? -
是的,它需要在 for 循环中。有多个列表需要返回
-
您的代码不会返回多个列表。它重复地将 x 的各个元素分配给 a、b、c 和 d。