Level 3 : What does this iterator return?


class StepSkipIterator:
    def __init__(self, data, step):
        self.data = data
        self.step = step
        self.index = 0

    def __iter__(self):
        return self

    def __next__(self):
        if self.index >= len(self.data):
            raise StopIteration
        val = self.data[self.index]
        self.index += self.step
        return val

it = StepSkipIterator("Python", 2)
print(list(it))

Author: SandhyaR | Tags: iterator | 1859+ Python FAQs | Share
python-repl | tuple-methods | match | list,-set,-and-dictionary-comprehensions | method | list-methods-and-slicing | module | logical-operators | namedtuple | numpy | thread-safe-data-structures-(queue.queue) | thread | memory-management | type-conversion | stack | encoding | boolean-and-non-boolean | for | object-attribute | python | functional-programming | docstring | odd-number | pandas | string-iteration | string-method | syntax-error | multiple-except-blocks | mathematics | pseudocode | function-and-scope | indentation | data-type | function | anchors-(^,-$) | reading:-read(),-readline(),-readlines() | magic-method | error-handling | exception | python-history | software-design | center | string-methods | global-variable | regular-expression | comprehension | decimal | datetime | conditional-statement | class-decorators | copy | python-operators | file-handling | debugging | regex | else-statement | floating-point-precision | classes | touples | oop | input | zip-function | slicing | datatype | reading-and-writing-files | asyncio-module | yield | using-map()-for-transformations | input-function | writing:-write(),-writelines() | destructor | goto-function | operator | math | keyword | assignment-operators | assert | sorting-and-ranking | data-structures-in-python | while-loops | round-function | literal-characters-and-special-characters | print-statement | typeerror | function-argument | conditional-statements | using-join()-and-is_alive()-methods | map-function | logical-operator | formatting-with-strftime | unit-testing | zfill-function | version | using-yield-in-functions | print | dictionary | overriding-methods | filtering-and-indexing | introduction-to-multiprocessing | error-handling | list-indexing | list-operation | range | recurssion | mysql | while-loop | random-function | quantifiers-(*,-+,-?,-{}) | data-type | built-in-function | identity-operator | built-in | inherit | __all__-attribute | file | conditional-statement | array | introduction-to-python | bitwise | floats | multiple-inheritance | numeric | arithmetic-expression | operator-or | complex-number | iterable | factorial-function | pickling--unpickling | global-variable | import-method | while-else-loop | feature | lambda-functions | type-conversion-and-casting | list-comprehension | sys | type_conversion | using-else-and-finally | installation | indexing:-loc-vs-iloc | string-slicing | thread-synchronization | test-discovery | sum-function | library | operators | functions | parameter | python_version | generators | control-statement | decorator | virtual-environment | datetime.date,-datetime.time,-datetime.datetime | reading-and-writing-large-files-efficiently | logical-operator | matrix-list-comprehension | dictionaries | parsing-with-strptime | expression | tuple-unpacking | integer | inheritance | sorted | list | static-method | expand-tab | functional-programming | set-operation | formal-and-actual-parameter | mapping-function | loop-control-statements | with-statement | class-and-object | joining-and-merging-dataframes | file-handling | set | return-statement | counter-function | dicts | class | class-and-instance-variable | generators-in-python | methods | class-and-inheritance | data-structure | zip | string-manipulation | mathematical-function | gil | syntax-error | oops | max-min | append | threading | membership-operators-(in,-not-in) | lists | sorting | comment | filter-function | rollback | using-the-threading-module | difference-between-threads-and-processes | basic | single-inheritance | tuple | virtual-environment | operand | dictionary-comprehensions | complex | exponentiation | polymorphism | frozenset | default-mutable-argument | string-formatting | booleans | escape-operator | invalid-list | enumerate() | string-method | head-and-tail | dataframe-and-series-objects | min-function | arithmetic-operation | boolean | method-overloading | nested-loop | counter | tuples | lambda | operations | benefit | iterator | generator | default-arguments | multiprocessing | else | string-concatenation | string-slicing | working-with-binary-files-(rb,-wb) | data-type-conversions | using-lists-as-stacks | global | opening-files-(open()) | bitwise-operator | working-with-file-paths | handling-missing-values-(fillna,-dropna) | name-mangling | heap-memory | logical-operation | collections | regular-expressions | boolean-masking | while-and-for-loop | list-mutation | interpreter | constructor | data_structure | using-os-and-pathlib-modules | multiple-inheritance | control-flow | postfix | format | raise | encapsulation | attribute | exception-handling | strings | condition | introduction-to-threads | arbitrary-arguments-(*args,-**kwargs) | syntaxerror | list-join | string | directory-operations | dictionary-methods | identity-operators-(is,-is-not) | integers | memory | syntax | using-assertions-(assertequal,-assertraises) | data-structure | raise-statement | lambda-function | creating-custom-modules | managing-directories-with-os-and-shutil | recursion | multithreading | update | why-use-multiprocessing-over-threading?-(gil) | list-method | id-function | __future__ | objects | join | list-comprehensions | working-with-temporary-files-using-tempfile | round | design-principle | int | file_handling | control-flow | assignment-operator | iterators | time-series-with-pandas | matplotlib | shallow-copy | context-manager | global-keyword | python-module | filter | math-copysign | fabs-function | python-syntax-and-structure | operator-overloading | working-with-dates-and-times | error | collection | min-max-function | creating-and-starting-threads | built-in-function | indexing | sets | list-comprehension | sum() | init | precedence-and-associativity | immutability | input-function | identity-operator | key-value-pairs | implementation | built-in-modules | application | type-conversion | data-structures | higher-order-function | intering | identifier | scientific-notation | overflow | compute | split | loop-control | immutable-data-type | pep | python-django | walking-through-directories-using-os.walk() | random | operator-and | lambdas | asyncio | aggregating-data-with-functools.reduce() | turtle | exception-handling | package-management | loop | binary-operation | variable | __init_subclass__ | choice | list-slicing | conversion | sys-module | access-modifier | list-vs-tuple | defining-functions | descriptors | staticmethod | data-types | call | bitwise-operator | statement | advanced-file-operations | slice | command-line-parsing | pass | version-check | def | namespace | swapping | async | binary | deep-copy | comparison | mutable | loops | string-formatting | matrix | precedence ...