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