我如何在python中编写一个包含a的列表推导 count = count + 1?
print sum([info[count]["count"] for i in info])
# This is the working loop:
count = 0
lst = []
for i in info:
num = info[count]["count"]
# print num
count = count + 1
lst.append(num)
print sum(lst)
答案 0 :(得分:0)
我不理解您在i
和i in info
一起使用count
的原因。如果info
是可枚举的,并且枚举与使用零偏移索引访问具有相同的效果(就像您似乎使用count
一样),您可以重写您的循环:
lst = []
for infoi in info:
num = infoi["count"]
# print num
lst.append(num)
print sum(lst)
现在您可以将其转换为以下列表理解:
sum([infoi["count"] for infoi in info])
最后,您不需要具体化对列表的理解,sum
可以在生成器上工作:
sum(infoi["count"] for infoi in info)
这可能更有效率,因为您将不首先使用所有值构建列表:sum
将枚举所有项目,从而导致内存使用不变。
答案 1 :(得分:0)
>>> a = ['a','b','c']
>>> v = ['a','e','i','o','u']
>>> len(a)
3
>>> sum([1 for x in a if x in v])
2