Python: конструктор списков

категория: Python
Списки - это еще одна очень часто используемая конструкция. А так как Python создан, чтобы упростить всем жизнь, у списков есть специальная сокращенная синтаксическая форма для создания. Простая форма генерации списков, которую в недалеком будущем все использовали - это форма создания списка циклом:
>>> new_list = []
>>> for x in range(3,6):
...     new_list.append(x**2)
... 
>>> new_list
[9, 16, 25]
Подобная задача встречается слишком часто и поэтому для нее придумали упрощенный синтаксис:
>>> [x**2 for x in xrange(3,6)]
[9, 16, 25]
Более сложная форма конструктора списков:
>>> [(x+y)*z for x in [100,200] for y in [2,4] for z in xrange(3,5)]
[306, 408, 312, 416, 606, 808, 612, 816]
Конструктор списков с использованием фильтра:
>>> [x for x in xrange(10) if x%2 == 0]
[0, 2, 4, 6, 8]
Используем и все больше наслаждаемся работой с Python)


blog comments powered by Disqus