Reversing a String Using reversed()
00:00
In this lesson, you’ll learn how to reverse a string using the reversed()
built-in function. reversed()
is a built-in function which returns an iterator that yields sequence items in reverse order. In this context, an iterator refers to any object which implements the magic method .__next__()
.
00:17
While implementations of this method are left to the user, calls to it are generally expected to return the next item in a given sequence in some logical order. For example, let’s take a string and turn it into an iterator by using the built-in iter()
function. If you do this for the string "Hello"
and then call .__next__()
repeatedly, you’ll get the characters in a sequential order.
00:41
Note that this only works for objects which implement the .__iter__()
magic method, which strings do. You can retrieve the next item in the sequence repeatedly until you run out of characters.
00:59
The reversed()
function does something quite similar but in reverse. When calling .__next__()
, rather than getting the first element of the sequence, the last one is returned.
01:08 Subsequent calls iterate over this sequence in reverse order. Doing this repeatedly to a string iterable will yield all of the characters in reverse.
01:23
.join()
is a method implemented for string objects in Python, which can take in any iterable and concatenate it using the string object as a separator. For example, if you pass the list of strings ["a", "b",
"c"]
to the method .join()
, called from the string object comprised only of the character "+"
, you would get back the string 'a+b+c'
.
01:44
If the string object is just a blank string, you would get the string 'abc'
.
01:53
Recall that the string method takes in any iterable comprised of string objects and that the function reversed()
returns an iterator that yields string objects when applied to a string. .join()
can be called directly on the iterator returned by the function reversed()
to reverse your string.
02:10
You can therefore use .join()
and reversed()
to reverse strings and python in a single line of code.
Become a Member to join the conversation.