The reverse()
method flips the order of the elements within a list.
However, reverse()
does not affect the digits or characters within those
elements.
Example
1 2 3 4 | my_list = ['hello', 'world', 123, 'orange']
my_list.reverse()
print(my_list)
|
Console Output
['orange', 123, 'world', 'hello']
What if we wanted the reversed list to be
['egnaro', 321, 'dlrow', 'olleh']
?
Let’s have some fun by creating a process that reverses BOTH the order of the entries in a list AND the order of characters within the individual elements.
Remember that a function should perform only one task. To follow this best practice, we will solve the list reversal by defining two functions—one that reverses the characters in a string (or the digits in a number) and one that flips the order of entries in the list.
If your teacher added you to a Trinket course, login to your account to access the starter code.
Otherwise, use the links below to code in your own free account.
Note
The code editors embedded in the exercises all include a Remix button in the upper right corner which will save the code to your account. For the matching repl.it code, click these links:
On a previous page, we examined a function that
reverses the characters in a string using list()
and join
. Let’s rebuild that function now.
reverse_characters
. Give it one parameter, which will
be the string to reverse.list()
to create a list of characters from the
string, then reverse the list.join
to create the reversed string and return that string from the
function.reverse_characters
function and use the variable as the argument.
Check that your function correctly reverses the characters in the string.Tip
Use these sample strings for testing:
'apple'
'LC101'
'Capitalized Letters'
'I love the smell of code in the morning.'
The reverse_characters
function works great on strings, but what if the
argument passed to the function is a number? Using reverse_characters(1234)
results in an error, since list()
does not work on numbers (TRY IT). When
passed an int
or float
value, we want the function to return a number
with all the digits reversed (e.g. 1234 converts to 4321 and NOT the string
"4321"
).
if
statement to reverse_characters
to check the type()
of
the parameter.type()
is str
, return the reversed string as before.type()
is int
or float
, convert the parameter to a string,
reverse the characters, then convert it back into a number.Tip
Use these samples for testing:
1234
'LC101'
8675.309
'radar'
Now we are ready to finish our complete reversal process. Create a new function with one parameter, which is the list we want to change. The function should:
reverse_characters
to flip the
characters or digits.Tip
Use this sample data for testing.
Input | Output |
---|---|
['apple', 'potato', 'Capitalized Words'] |
['sdroW dezilatipaC', 'otatop', 'elppa'] |
[123, 8897, 4.2, 1138, 8675309] |
[9035768, 8311, 2.4, 7988, 321] |
['hello', 'world', 12.3, 'orange', 987] |
[789, 'egnaro', 3.21, 'dlrow', 'olleh'] |
Define a function with one parameter, which will be a string. The function must do the following:
fun_phrase
..format()
to return the phrase We put the '___' in '___'.
Fill the first blank with the modified string, and fill the second blank
with the original string.Now test your function:
'Functions rock!'
).The area of a rectangle is equal to its length x width.
The area is ____ cm^2.
Tip
Use these test cases.