回答編集履歴
2
もっと単純でいけた
answer
CHANGED
@@ -4,6 +4,6 @@
|
|
4
4
|
iterable = iter(range(1, 11))
|
5
5
|
for i in iterable:
|
6
6
|
print(i)
|
7
|
+
if i == 3:
|
7
|
-
|
8
|
+
next(iterable, None)
|
8
|
-
break
|
9
9
|
```
|
1
汎用的を消す&もうちょっと読みやすく
answer
CHANGED
@@ -1,25 +1,9 @@
|
|
1
|
-
**
|
1
|
+
**ただ単純に1個先を飛ばす**
|
2
2
|
|
3
3
|
```python
|
4
|
-
from functools import partial
|
5
|
-
from itertools import filterfalse
|
6
|
-
from operator import contains
|
7
|
-
|
8
|
-
N = 1
|
9
|
-
skip = set()
|
10
|
-
skip_in = partial(contains, skip)
|
11
|
-
for i in filterfalse(skip_in, range(1, 11)):
|
12
|
-
print(i)
|
13
|
-
if i == 3:
|
14
|
-
skip.add(i + N)
|
15
|
-
```
|
16
|
-
|
17
|
-
**ただ単純に1個先を飛ばしたいなら**
|
18
|
-
|
19
|
-
```python
|
20
4
|
iterable = iter(range(1, 11))
|
21
5
|
for i in iterable:
|
22
6
|
print(i)
|
23
|
-
if i == 3 and
|
7
|
+
if i == 3 and next(iterable, None) is None:
|
24
8
|
break
|
25
9
|
```
|