sun*_*ots 4 python list-comprehension python-3.x
考虑两个列表推导gamma和delta几乎冗余的代码.区别在于切片名单alpha和beta,即
gamma = [alpha[i:i+30] for i in range(0,49980,30)]
delta = [beta[i:i+30] for i in range(0,49980,30)]
Run Code Online (Sandbox Code Playgroud)
是否有一种pythonic方式将其写成一个衬垫(比方说gamma,delta = ...)?
我还有一些其他类似的代码,它们本质上是相似的,我想简化代码的看似冗余.
虽然单行list-comprehensions非常有用,但它们并不总是最佳选择.所以在这里,因为你正在对两者进行相同的分块lists,如果你想改变分块,你将不得不修改两条线.
相反,我们可以使用function任何给定的块list,然后使用单行分配块gamma和delta.
def chunk(l):
return [l[i:i+30] for i in range(0, len(l), 30)]
gamma, delta = chunk(gamma), chunk(delta)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
121 次 |
| 最近记录: |