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. 列表清单列表
- 7. Java列表清单列表
- 8. 名单列表中的头数总和
- 9. Ada - 列表清单
- 10. coldfusion清单列表
- 11. OCaml:列表清单
- 12. C#列表清单?
- 13. GSON列表清单
- 14. Linq清单列表到单个列表
- 15. 将清单切入清单列表
- 16. 元组的列表清单
- 17. SML清单汇总
- 18. 使用计数器和列表清单
- 19. 列表清单列表:如何根据用户输入列出清单列表?
- 20. 累计数字清单总和
- 21. 将计划转换为OCaml? ('列表vs'列表清单 - >'列表清单)
- 22. Python的转置列清单列清单
- 23. 总结列表清单时出现“非穷举模式”错误
- 24. 图表上的单个总计列/运行价值总和
- 25. Nice Backbone.js列表清单列表
- 26. 列出不同的列表清单
- 27. 显示使用hashmap的单词和清单的列表
- 28. 展开列表清单
- 29. Java Json到列表清单
- 30. Android创建列表清单
谢谢大家的帮助! – user1816377
作为解释,这是通过使用[生成器表达式](http://www.youtube.com/watch?v=pShL9DCSIUw)将每个单独列表的总和相加来实现的。 –
请注意,可读性应该总是胜过性能,除非它是一个已被证实的瓶颈。 –