Q
列表清單的總和
2
A
回答
7
可以使用sum()
與發電機表達這裏:
In [18]: lis = [[1, 2], [3, 4], [5, 6]]
In [19]: sum(sum(x) for x in lis)
Out[19]: 21
或:
In [21]: sum(sum(lis, []))
Out[21]: 21
timeit
比較:
In [49]: %timeit sum(sum(x) for x in lis)
100000 loops, best of 3: 2.56 us per loop
In [50]: %timeit sum(map(sum, lis))
100000 loops, best of 3: 2.39 us per loop
In [51]: %timeit sum(sum(lis, []))
1000000 loops, best of 3: 2.21 us per loop
In [52]: %timeit sum(chain.from_iterable(lis)) # winner
100000 loops, best of 3: 1.43 us per loop
In [53]: %timeit sum(chain(*lis))
100000 loops, best of 3: 1.55 us per loop
2
sum(map(sum, my_list))
這將運行第一個列表中的每個元素的總和,然後把結果與那些進入和一次。
1
l = [[1,2,3], [3,4,5], [3,5,6]]
total = sum([sum(x) for x in l])
3
import itertools
sum(itertools.chain.from_iterable([[1,2],[3,4],[5,6]]))
itertools.chain
變平迭代的一個水平(這是所有你所需要的),所以sum
得到與細分的子列表清單。
+0
作爲解釋,這個工作是通過展開列表,然後總結所有包含值的新迭代。 –
0
import re
#print sum([ ****** *** * in **********('[0-9]+',**************************.read()) ])
name = raw_input("Enter file:")
if len(name) < 1 : name = "sam.txt"
handle = open(name)
#handle = handle.read()
num = list()
total = 0
for line in handle:
line = line.rstrip()
if len(re.findall('([0-9]+)', line))== 0: continue
num.append(re.findall('([0-9]+)', line))
print sum(sum(num,[]))
0
import re
print sum([int(i) for i in re.findall('[0-9]+', open("regex_sum_301799.txt").read()) ])
相關問題
- 1. 計算列表清單的總和
- 2. 列表清單的總和;返回總和名單
- 3. 列表列表清單列表清單
- 4. 使用Linq的列表清單的元素總和
- 5. Python - 列表清單清單列表
- 6. Java列表清單列表
- 7. 列表清單列表
- 8. 名單列表中的頭數總和
- 9. csv列表清單?
- 10. Linq列表清單
- 11. GSON列表清單
- 12. coldfusion清單列表
- 13. C#列表清單?
- 14. OCaml:列表清單
- 15. Ada - 列表清單
- 16. Linq清單列表到單個列表
- 17. 將清單切入清單列表
- 18. 總和列的表
- 19. 清單列表(串)(列表(串))的
- 20. 元組的列表清單
- 21. SML清單彙總
- 22. 使用計數器和列表清單
- 23. 列表清單列表:如何根據用戶輸入列出清單列表?
- 24. 累計數字清單總和
- 25. 將計劃轉換爲OCaml? ('列表vs'列表清單 - >'列表清單)
- 26. Python的轉置列清單列清單
- 27. 總結列表清單時出現「非窮舉模式」錯誤
- 28. 圖表上的單個總計列/運行價值總和
- 29. 將列表轉換爲列表清單
- 30. Nice Backbone.js列表清單列表
謝謝大家的幫助! – user1816377
作爲解釋,這是通過使用[生成器表達式](http://www.youtube.com/watch?v=pShL9DCSIUw)將每個單獨列表的總和相加來實現的。 –
請注意,可讀性應該總是勝過性能,除非它是一個已被證實的瓶頸。 –