内增加defaultdict我有这样的:列表理解(Python)的
self.lines = [...]
cnt = defaultdict(int)
for line in self.lines:
cnt[line] += 1
现在这个工作。但我想知道它是否可以使用列表理解来完成(增加defaultdict中特定行的数量)?
这是一个语法错误:
[cnt[line] += 1 for line in self.lines]
顺便说一句,为什么不能列表理解中的一个使用表达式这样吗?这很简单,并且会大大改善这种代码的简洁性和性能。
为什么你认为这会提高性能?你仍然需要迭代self.lines,现在你已经介绍了创建一个你以前没有的列表的开销。而且它不再简洁:您将一个冒号和一个换行换成了一对方括号。 – chepner
@chepner,在你写你的同时,我在答案中加了一个类似的注释;) – shx2