Так что синтаксис здесь немного сбивает с толку, но на самом деле происходит то, что каждый элемент в c.items()
является кортежем, содержащим слово и его счет.
Более понятный способ написания этого будет:
vocab = [x for (x, count) in c.items() if x>=2]
, но это также можно сделать так:
vocab = [x[0] for x in c.items() if x[1]>=2]
, где x
- это кортеж.
Также полезно посмотреть накак на самом деле выглядит c
Если вы напечатаете c, вы увидите:
>>> print c
Counter({'lie': 3, 'is': 2, 'and': 1, 'a': 1, 'There': 1, 'only': 1, 'passion': 1, 'piece': 1})
и c.items()
>>> print c.items()
[('and', 1), ('a', 1), ('lie', 3), ('is', 2), ('There', 1), ('only', 1), ('passion', 1), ('piece', 1)]