2024-06-25 22:50:25 发布
网友
我想把整数的一个可数相加,得出每个元素的增长和。这是一件使用迭代编程的简单事情:
def growingSum(elements): sum = 0 for element in elements: sum += element yield sum
但是,它是否可以在不使用变量的情况下以函数的方式来实现,就像使用理解的单行程序一样?你知道吗
在Python3.2+上,可以使用^{}:
>>> from itertools import accumulate >>> list(accumulate(range(10))) [0, 1, 3, 6, 10, 15, 21, 28, 36, 45]
从技术上讲,这个生成器表达式的工作原理是:
((globals().__setitem__('__acc', globals()['__acc'] + x), globals()['__acc'])[1] for x in (globals().__setitem__('__acc', 0), iterable)[1])
(我不确定这是不是便携的。它可能依赖于实现定义的行为。)
或者,如果可以引入一种本地方法:
v = [0] ((v.append(v.pop() + x), v[0])[1] for x in iterable)
在任何情况下,使用这种密码被抓获的人都将被枪毙。这是一个大规模的黑客攻击,是对可读性和常识的侮辱,没有丝毫的理由或上诉迹象。你知道吗
在Python3.2+上,可以使用^{} :
从技术上讲,这个生成器表达式的工作原理是:
(我不确定这是不是便携的。它可能依赖于实现定义的行为。)
或者,如果可以引入一种本地方法:
在任何情况下,使用这种密码被抓获的人都将被枪毙。这是一个大规模的黑客攻击,是对可读性和常识的侮辱,没有丝毫的理由或上诉迹象。你知道吗
相关问题 更多 >
编程相关推荐