【发布时间】:2018-06-06 10:21:06
【问题描述】:
假设我有一个包含费用类型的简单 python 列表,我想用 for 循环遍历这些费用。在每次迭代中,如果索引产生正确的费用类型,计数器将提前 1。我可以使用下面的代码轻松编写此代码,但它没有使用快速运行的 for 循环。
array = ['Groceries', 'Restaurant', 'Groceries', 'Misc', 'Bills']
sum = 0
for i in range(len(array)):
if array[i] == 'Groceries':
sum += 1
有没有更 Pythonic 的方式来编写这个加速执行的循环?我已经看到了类似于下面的代码 sn-p 的示例。注意:下面的代码sn-p不起作用,它只是我之前见过的加速格式的一个例子,但并不完全理解。
sum = [sum + 1 for i in array if array[i] == 'Groceries']
【问题讨论】:
标签: python-3.x loops for-loop