回答
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