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