How to Convert All Numbers in a Python List to Absolute Form?

Learn how to convert every number in a list of numbers to their absolute form

In Python, you can change every number in a list of numbers to its absolute value by calling the abs() method on each element, for example, using list comprehension, like so:

numbers = [1234, -5678, 12.34, -56.78]
abs_numbers = [abs(number) for number in numbers]

print(abs_numbers) # [1234, 5678, 12.34, 56.78]

The code above would create a new list with all numbers in the list in absolute form. This is equivalent to the following, which uses map():

numbers = [1234, -5678, 12.34, -56.78]
abs_numbers = list(map(lambda number: abs(number), numbers))

print(abs_numbers) # [1234, 5678, 12.34, 56.78]

However, using list comprehension provides a more readable and concise syntax. For that reason, it is generally preferred and would be the recommended way.

For completeness sake, you can also achieve the same result with a simple for..in loop:

numbers = [1234, -5678, 12.34, -56.78]
abs_numbers = []

for number in numbers:
    abs_numbers.append(abs(number))

print(abs_numbers) # [1234, 5678, 12.34, 56.78]

However, it might not be the best choice as it would create/overwrite a variable named "number", which would persist even after the loop completes:

numbers = [1234, -5678, 12.34, -56.78]
abs_numbers = []

for number in numbers:
    abs_numbers.append(abs(number))

print(number) # -56.78

Hope you found this post useful. It was published . Please show your love and support by sharing this post.