我有一个整数列表,我希望有效地对列表切片(子数组)的每个元素或某些索引(例如范围(开始,结束,跳转))执行加法,乘法,平面除法等操作。列表切片的每个元素添加或乘以的数字是常量(比如'k')。
例如:
ObjectMapper
我必须在不同的切片/范围上多次执行这些操作,并且常量“k”因不同的切片/范围而变化。显而易见的方法是运行for循环并修改元素的值,但这还不够快。您可以通过使用numpy数组来有效地执行此操作,因为它支持批量分配/修改,但我正在寻找一种在纯python中执行此操作的方法。
答案 0 :(得分:0)
避免for循环的一种方法如下:
>>> nums = [23, 44, 65, 78, 87, 11, 33, 44, 3]
>>> nums[2:7:2] = [x//2 for x in nums[2:7:2]]
>>> nums
[23, 44, 32, 78, 43, 11, 16, 44, 3]