def forit(mystate=[]): if len(mystate) < 3: mystate.append(" ") 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

def forit(mystate=[]): if len(mystate) < 3: mystate.append(" ")

Поиск

it1 = iter([1, 2, 3, 4, 5])

 

def forit(mystate=[]): if len(mystate) < 3: mystate.append(" ")

 

return " "

 

it2 = iter(forit, None)

 

print [x for x in it1] print [x for x in it2]

Примечание:

 

Если функция не возвращает значения явно,она возвращает None,что и использовано в


 


примере выше.


 

Функция enumerate()

 

Эта функция создает итератор,нумерующий элементы другого итератора.Результирующий итератор выдает кортежи,в которых первый элемент-номер(начиная с нуля),а второй-элемент исходной последовательности:

 

>>> print [x for x in enumerate("abcd")] [(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd')]

 

Функция sorted()

 

Эта функция,появившаяся вPython 2.4,позволяет создавать итератор,выполняющий сортировку:

 

>>> sorted('avdsdf')

 

['a', 'd', 'd', 'f', 's', 'v']

 

Далее рассматриваются функции модуля itertools.

 

Функция itertools.chain()

 

Функция chain() позволяет сделать итератор,состоящий из нескольких соединенных последовательно итераторов.Итераторы задаются в виде отдельных аргументов.Пример:

 

from itertools import chain it1 = iter([1,2,3])

it2 = iter([8,9,0])

for i in chain(it1, it2): print i,

 

даст в результате

 

1 2 3 8 9 0

 

Функция itertools.repeat()

 

Функция repeat() строит итератор,повторяющий некоторый объект заданное количество раз:

 

for i in itertools.repeat(1, 4): print i,

 

1 1 1 1

 

Функция itertools.count()

 

Бесконечный итератор,дающий целые числа,начиная с заданного:

 

for i in itertools.count(1): print i,

 



Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 63; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.156 (0.006 с.)