Ярким примером (генератора) являются функции range и enumerate range — ненастоящий сварщик мутант, в отличие, скажем, от count, и на это стоит пролить немного света.
from itertools import count
def test(f):
for i in f:
print(i, end=' ')
if i == 1:
break
print("~", end=' ')
for i in f:
print(i, end=' ')
if i == 2: # на всякий случай ;)
break
print()
def mygen():
yield 0
yield 1
yield 2
test([0, 1, 2]) # 0 1 ~ 0 1 2
test(range(3)) # 0 1 ~ 0 1 2
test(mygen()) # 0 1 ~ 2
test((i for i in (0, 1, 2))) # 0 1 ~ 2
test(count()) # 0 1 ~ 2
По приведенному фрагменту видно, что range ведёт себя как list, что неудивительно — во втором питоне он и есть list.
Я открыл, что Китай и Испания совершенно одна и та же земля, и только по невежеству считают их за разные государства. Я советую всем нарочно написать на бумаге Испания, то и выйдет Китай.
Н.В.Гоголь, «Записки сумасшедшего»
Стремление вызвать энтузиазм по поводу, в основе своей, тупых и разрушающих душу действий является буквально формой преднамеренного психологического травмирования самого себя, добровольным безумием...
Ага, а принуждение себя к «тупым и разрушающим душу действиям» есть акт целительный.
Автор троллит, переводчик заодно.
количество открытых вакансий не является достаточной метрикой для измерения этого спроса
Вот отсюда поподробнее, пожалуйста — а возникает чувство, будто нас дурят )
Поискал цену на сайте производителя, её нет, есть прекрасное: «Оставьте свой запрос службе продаж, и наши специалисты свяжутся с вами». Можно подумать, что они продают суперкомпьютеры. Так ведь нет — материнку с интегрированным процом класса атома/целерона, каких по 5тыр навалом.
>>> a, b = [1, 2, 3], [4, 5]
>>> a + b # вот это - конкатенация
[1, 2, 3, 4, 5]
>>> [*a, *b] # работает на версии питона 3.5 и выше
[1, 2, 3, 4, 5]
>>>
и, наконец,
>>> a += b # эквивалентно a.extend(b)
>>> a
[1, 2, 3, 4, 5]
range
—ненастоящий сварщикмутант, в отличие, скажем, отcount
, и на это стоит пролить немного света.По приведенному фрагменту видно, что
range
ведёт себя какlist
, что неудивительно — во втором питоне он и естьlist
.Прежде чем хвастать, уточнили бы в интернетах, что ли.
«То ли лыжи не едут, ...»
Н.В.Гоголь, «Записки сумасшедшего»
Ага, а принуждение себя к «тупым и разрушающим душу действиям» есть акт целительный.
Автор троллит, переводчик заодно.
Образность вашей речи достойна ваших титулов!
Вот отсюда поподробнее, пожалуйста — а возникает чувство, будто нас дурят )
Функционально ваш код тот же, и иллюстрирует всё то же «преимущество от комбинирования генераторов».
Преимущество от комбинирования генераторов на примере сложной функции f(x) = u(v(x))
— этот синтаксис устарел лет десять назад, с появлением литерала множества:
Это — не конкатенация, уберите.
Чтоб два раза не вставать:
и, наконец,
бесполезныйвредный слой абстракции в тривиальной задаче перебора пермутаций.запрещают ковырять в носуучат, как выбирать идентификаторы…