Что значит [obj for object, ...]?
from collections import Counter
def frequency_sort(items):
# your code here
result = [obj for objects, c in Counter(items).most_common() for obj in [objects] * c]
return result
Объясните работу result, а конкретно [obj for object, что значит данное выражение.
Спасибо!
Ответы (1 шт):
Автор решения: Ildar
→ Ссылка
эта конструкция называется list comprehension
ваша конструкция result = [obj for objects, c in Counter(items).most_common() for obj in [objects] * c]
аналогична следующей по семантике:
from collections import Counter
result = []
for objects, c in Counter(items).most_common():
for obj in [objects] * c:
result.append(obj)
следует иметь ввиду, что списковые включения в большинстве случаев работают гораздо быстрее самописных циклов из-за внутренних оптимизаций