, если это дубликат, уже ответил тогда извините, я не наткнулся на этот вопросКак применить BREAK для подсчета Itertools в List Comprehensions?
, как я читал подсчитывать itertools, генерируя итератор используя для цикла легко, и я пытался сделать это в списке понимание но я столкнулся с этой проблемой
from itertools import *
, используя для петли
for x in itertools.count(5,2):
if x > 20:
break
else:
print(x)
5
7
9
11
13
15
17
19
я попытался сделать это в списке понимание
[x if x<20 else break for x in count(5,2)]
File "<ipython-input-9-436737c82775>", line 1
[x if x<20 else break for x in count(5,2)]
^
SyntaxError: invalid syntax
я попытался с помощью метода Ислицы и я получил ответ
[x for x in itertools.islice(itertools.count(5),10)]
[5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
без использования метода Ислицы, как я могу выйти (используя перерыв или любую вещь), используя только подсчитывать метод?
Кроме того, как реализовать «перерыв» в списках?
Почему вам не нравится 'islice'? Там определенно не 'break' внутри списка, но есть [' takewhile'] (https://docs.python.org/3/library/itertools.html#itertools.takewhile). – bereal
Почему вы не используете 'range (5, 20, 2)' или 'range (5, 15)'? – falsetru
Это не нравится, я просто хочу знать, что «могу я сделать так или нет?» @bereal – avimatta