Level 1 : Reversing a string with a generator.


def reverse_string(s):
    for i in range(len(s) - 1, -1, -1):
        yield s[i]

gen = reverse_string("hello")
print("".join(gen))

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