Built-in Functions

Python has many built-in functions that you can use. These functions are available without importing any modules. In this lesson, we will learn about a few of them. You can see a full list of built-in functions here.

Numbers

There are several functions available for working with numbers and lists of numbers. These include:

  • abs() - returns the absolute value of a number
  • round() - rounds a number to a given number of decimals
  • divmod() - returns both // and % in a single operation
abs(-5) # 5
round(3.14159) # 3
round(3.14159, 2) # 3.14
divmod(10, 3) # (3, 1)

Functions that take a list of numbers as an argument include:

  • min() - returns the smallest number in a list
  • max() - returns the largest number in a list
  • sum() - returns the sum of all numbers in a list
x = [1, 2, 3]
min(x) # 1
max(x) # 3
sum(x) # 6

Characters

The ord() and chr() functions allow you to convert a character to and from its Unicode code integer representation.

ord('a') # 97
chr(97) # 'a'

Booleans

The any() and all() functions are used to evaluate a list of booleans. Each item in the list is evaluated as a boolean, equivalent to bool() function.

bool(0) # False
bool(1) # True
bool('') # False
bool('a') # True

any([True, False, False]) # True
any([False, False, False]) # False
any([1, 0, 0]) # True
any([0, 0, 0]) # False
any(['a', '', '']) # True
any(['', '', '']) # False

all([True, False, False]) # False
all([True, True, True]) # True
all([1, 0, 0]) # False
all([1, 1, 1]) # True
all(['a', '', '']) # False
all(['a', 'a', 'a']) # True

Sequences

Several functions can be used to work with sequences. sorted() and reversed() return a new list with a changed order. The original list is not modified.

x = [3, 1, 2]
sorted(x) # [1, 2, 3]
reversed(x) # [2, 1, 3]

The enumerate() function is used to iterate over a sequence when you need both the index and the value.

x = ['a', 'b', 'c', 'c', 'b', 'a']
for i, v in enumerate(x):
    print(i, v) 
    if i != 0 and v == x[i-1]:
        print("two of the same value in a row")

# 0 a
# 1 b
# 2 c
# 3 c
# two of the same value in a row
# 4 b
# 5 a

The zip() function is used to iterate over multiple sequences at the same time.

x = ['a', 'b', 'c']
y = [1, 2, 3]
for i, j in zip(x, y):
    print(i, j)

# a 1
# b 2
# c 3

The map() function is used to apply a function to each item in a sequence.

x = ["1", "2", "3"]
y = list(map(int , x)) # [1, 2, 3]

Exercise

Given two lists of numbers called secret and key, use the following steps to decode the message.

  1. Get the absolute value of each number in secret
  2. For each index add the number in key to the result of step 1
  3. Reverse the order of the numbers in the result of step 2
  4. Use integer division to divide each number in the result of step 3 by 5
  5. Add the index of each number in step 4 to its value
  6. Convert each value to a character
  7. use ''.join(list) to convert a list of characters to a string

Built-in Exercise

Loading...