回答
def my_math(lst):
return sum(map(lambda x: x[0]*x[1], zip(lst, lst[1:])))
>>> my_math([1,2,3])
8
>>> my_math([1,2,3,4])
20
>>> my_math([1,2,3,4,5])
40
使用列表理解:
>>> mylist = [1,2,3,4]
>>> sum(mylist[i] * mylist[i + 1] for i in range(len(mylist) - 1))
20
试试这个:
x=[1,2,3,4]
print sum(a*b for a,b in zip(x, x[1:]))
#prints 20
+1。您可以删除'[:-1]','打印总和(a * b for a,b in zip(x,x [1:]))'产生相同的结果 – iruvar
已更新。谢谢。 –
>>> sum(a * b for (a, b) in pairwise([1, 2, 3, 4]))
20
>>> sum(a * b for (a, b) in pairwise([1, 2, 3]))
8
我需要什么CHAN ge想要
function([1,2,3,4])
执行(1*2*3*4)
?
>>> from functools import reduce
>>> from operator import mul
>>> reduce(mul, [1, 2, 3, 4])
24
如果想要功能([1,2,3,4])执行(1 * 2 * 3 * 4),我需要什么? – user2469891
@ user2469891看我的编辑。 – poke
In [88]: mylist = [1,2,3,4]
In [89]: sum(itertools.imap(lambda t: operator.mul(*t), itertools.izip(mylist, itertools.islice(mylist, 1, len(mylist)))))
Out[89]: 20
没有任何名单切片生成表达式/份
>>> mylist = [1,2,3,4]
>>> sum(mylist[i-1] * j for i, j in enumerate(mylist) if i)
20
- 1. 乘以相邻元素
- 2. 检查2d数组中的相邻元素并替换它们
- 3. jQuery:获取每个元素的宽度并将它们相加
- 4. 如何访问多维数组元素以将它们相乘
- 5. 删除数组元素,并将它们添加回它们所在的位置
- 6. 删除数组元素并将它们添加到相同的索引iOS
- 7. 如何将两个列表框的项目相乘并添加它们
- 8. 如何将给定矩阵的每一行中的所有元素与给定矢量的相应元素相乘并将它们在MATLAB中相加?
- 9. 从数组中取出两个元素并添加它们,然后将它们添加回数组
- 10. 有元素相邻
- 11. 从数组中提取元素并将它们相减
- 12. Python:将字符串分割成元素并将它们添加到列表中
- 13. 选择相邻元素的子元素
- 14. 如何将元素添加到对象的矢量并打印它们?
- 15. 计算数组中的元素并将它们添加到对象中
- 16. 将元素添加到线程的矢量并打印它们 - Java
- 17. 里面找对象的数组特定元素,并将它们添加
- 18. 如何将元素添加到HashTable的LinkedList中并对它们进行排序?
- 19. 将模板应用于相邻元素?
- 20. XmlReader跳过相邻元素
- 21. jQuery选择相邻元素
- 22. 定位相邻元素
- 23. 如何将所有其他元素的列表元素相乘?
- 24. 元素以元素相乘,并通过一个
- 25. 复制单元格并将它们相乘,然后将每个单元格粘贴到彼此的下方
- 26. 乘以两列并将它们加在内部连接上
- 27. 如何将相邻元素简化为单个元素
- 28. 我如何取两个数字并将它们相加,相乘,相减或相除?
- 29. 检索具有相同值,并将它们组中的数组元素的组
- 30. 设置连续4个元素并将它们合并为一个元素
东西是不是你问清楚,无论是你的例子是错误的 - 或者你是不是*乘以* 。 1次2次3是6,而不是8. –
基本上与http://stackoverflow.com/q/14916957/1907098相同,只不过你总结了结果列表。 – Volatility
听起来像你需要'折叠'或'拉链'... – Shark