Python 仅与列表中自然相邻的整数相乘
我有一份清单:Python 仅与列表中自然相邻的整数相乘,python,numpy,Python,Numpy,我有一份清单: l = [1,2,3,4,6,7,9,10] 我只想将差为1的相邻数字相乘,得到最终的列表 本例中的过程是: [1*2*3*4, 6*7, 9*10] [24, 42, 90] 转换为数组,然后在使用np.diff后拆分,然后使用np.prod: l = [1,2,3,4,6,7,9,10] a = np.array(l) outlist = [*map(np.prod,np.split(a,np.where(np.diff(a)!=1)[0]+1))] 你试着写循环时发
l = [1,2,3,4,6,7,9,10]
我只想将差为1的相邻数字相乘,得到最终的列表
本例中的过程是:
[1*2*3*4, 6*7, 9*10]
[24, 42, 90]
转换为数组,然后在使用
np.diff
后拆分,然后使用np.prod
:
l = [1,2,3,4,6,7,9,10]
a = np.array(l)
outlist = [*map(np.prod,np.split(a,np.where(np.diff(a)!=1)[0]+1))]
你试着写循环时发生了什么?你试过写循环吗?啊!分裂是我没注意到的把戏。
print(outlist)
#[24, 42, 90]