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