Python len()

The len() function returns the number of items (length) of an object.

The syntax of len() is:

len(s)

len() Parameters

s - a sequence (string, bytes, tuple, list, or range) or a collection (dictionary, set or frozen set)


Return Value from len()

The len() function returns the number of items of an object.

Failing to pass an argument or passing an invalid argument will raise a TypeError exception.


Example 1: How len() works with tuples, lists and range?

testList = []
print(testList, 'length is', len(testList))

testList = [1, 2, 3]
print(testList, 'length is', len(testList))

testTuple = (1, 2, 3)
print(testTuple, 'length is', len(testTuple))

testRange = range(1, 10)
print('Length of', testRange, 'is', len(testRange))

When you run the program, the output will be:

[] length is 0
[1, 2, 3] length is 3
(1, 2, 3) length is 3
Length of range(1, 10) is 9

Visit these pages to learn more about:


Example 2: How len() works with strings and bytes?

testString = ''
print('Length of', testString, 'is', len(testString))

testString = 'Python'
print('Length of', testString, 'is', len(testString))

# byte object
testByte = b'Python'
print('Length of', testByte, 'is', len(testByte))

testList = [1, 2, 3]

# converting to bytes object
testByte = bytes(testList)
print('Length of', testByte, 'is', len(testByte))

When you run the program, the output will be:

Length of  is 0
Length of Python is 6
Length of b'Python' is 6
Length of b'\x01\x02\x03' is 3

Visit these pages to learn more about:


Example 3: How len() works with dictionaries and sets?

testSet = {1, 2, 3}
print(testSet, 'length is', len(testSet))

# Empty Set
testSet = set()
print(testSet, 'length is', len(testSet))

testDict = {1: 'one', 2: 'two'}
print(testDict, 'length is', len(testDict))

testDict = {}
print(testDict, 'length is', len(testDict))

testSet = {1, 2}
# frozenSet
frozenTestSet = frozenset(testSet)
print(frozenTestSet, 'length is', len(frozenTestSet))

When you run the program, the output will be:

{1, 2, 3} length is 3
set() length is 0
{1: 'one', 2: 'two'} length is 2
{} length is 0
frozenset({1, 2}) length is 2

Visit these pages to learn more about:


Internally, len() calls object's __len__ method. You can think of len() as:

def len(s):
    return s.__len__()

So, you can assign custom length to the object (if necessary)

Example 4: How len() works for custom objects?

class Session:
    def __init__(self, number = 0):
      self.number = number
    
    def __len__(self):
      return self.number


# default length is 0
s1 = Session()
print(len(s1))

# giving custom length
s2 = Session(6)
print(len(s2))

When you run the program, the output will be:

0
6