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