List being an integral part of Python day-day programming has to be learned by all the python users and having a knowledge of its utility and operations is essential and always a plus. So this article discusses one such utility of finding the no. of elements in a list.

**Method 1 : Naive Method**

In this method one just runs a loop and increases the counter till the last element of the list to know its count. This is the most basic strategy that can be possibly employed in the absence of other present techniques.

**Code #1 : ** Demonstrating finding length of list using Naive Method

`# Python code to demonstrate ` `# length of list ` `# using naive method ` ` ` `# Initializing list ` `test_list ` `=` `[ ` `1` `, ` `4` `, ` `5` `, ` `7` `, ` `8` `] ` ` ` `# Printing test_list ` `print` `(` `"The list is : "` `+` `str` `(test_list)) ` ` ` `# Finding length of list ` `# using loop ` `# Initializing counter ` `counter ` `=` `0` `for` `i ` `in` `test_list: ` ` ` ` ` `# incrementing counter ` ` ` `counter ` `=` `counter ` `+` `1` ` ` `# Printing length of list ` `print` `(` `"Length of list using naive method is : "` `+` `str` `(counter)) ` |

*chevron_right*

*filter_none*

**Output :**

The list is : [1, 4, 5, 7, 8] Length of list using naive method is : 5

**Method 2 : Using len()**

The `len()`

method offers the most used and easy way to find length of any list. This is the most conventional technique adopted by all the programmers today.

`# Python program to demonstrate working ` `# of len() ` `a ` `=` `[] ` `a.append(` `"Hello"` `) ` `a.append(` `"Geeks"` `) ` `a.append(` `"For"` `) ` `a.append(` `"Geeks"` `) ` `print` `(` `"The length of list is: "` `, ` `len` `(a)) ` |

*chevron_right*

*filter_none*

**Output:**

The length of list is: 4

`# Python program to demonstrate working ` `# of len() ` `n ` `=` `len` `([` `10` `, ` `20` `, ` `30` `]) ` `print` `(` `"The length of list is: "` `, n) ` |

*chevron_right*

*filter_none*

**Output:**

The length of list is: 3

**Method 3 : Using length_hint()**

This technique is lesser known technique of finding list length. This particular method is defined in operator class and it can also tell the no. of elements present in the list.

**Code #2 : ** Demonstrating finding length of list using `len()`

and `length_hint()`

`# Python code to demonstrate ` `# length of list ` `# using len() and length_hint ` `from` `operator ` `import` `length_hint ` ` ` `# Initializing list ` `test_list ` `=` `[ ` `1` `, ` `4` `, ` `5` `, ` `7` `, ` `8` `] ` ` ` `# Printing test_list ` `print` `(` `"The list is : "` `+` `str` `(test_list)) ` ` ` `# Finding length of list ` `# using len() ` `list_len ` `=` `len` `(test_list) ` ` ` `# Finding length of list ` `# using length_hint() ` `list_len_hint ` `=` `length_hint(test_list) ` ` ` `# Printing length of list ` `print` `(` `"Length of list using len() is : "` `+` `str` `(list_len)) ` `print` `(` `"Length of list using length_hint() is : "` `+` `str` `(list_len_hint)) ` |

*chevron_right*

*filter_none*

**Output :**

The list is : [1, 4, 5, 7, 8] Length of list using len() is : 5 Length of list using length_hint() is : 5

**Performance Analysis – Naive vs len() vs length_hint()**

When while choosing amongst alternatives its always necessary to have a valid reason why to chose one over another. This section does a time analysis of how much time it takes to execute all of them to offer a better choice to use.

**Code #3 : **Performance Analysis

`# Python code to demonstrate ` `# length of list ` `# Performance Analysis ` `from` `operator ` `import` `length_hint ` `import` `time ` ` ` `# Initializing list ` `test_list ` `=` `[ ` `1` `, ` `4` `, ` `5` `, ` `7` `, ` `8` `] ` ` ` `# Printing test_list ` `print` `(` `"The list is : "` `+` `str` `(test_list)) ` ` ` `# Finding length of list ` `# using loop ` `# Initializing counter ` `start_time_naive ` `=` `time.time() ` `counter ` `=` `0` `for` `i ` `in` `test_list: ` ` ` ` ` `# incrementing counter ` ` ` `counter ` `=` `counter ` `+` `1` `end_time_naive ` `=` `str` `(time.time() ` `-` `start_time_naive) ` ` ` `# Finding length of list ` `# using len() ` `start_time_len ` `=` `time.time() ` `list_len ` `=` `len` `(test_list) ` `end_time_len ` `=` `str` `(time.time() ` `-` `start_time_len) ` ` ` `# Finding length of list ` `# using length_hint() ` `start_time_hint ` `=` `time.time() ` `list_len_hint ` `=` `length_hint(test_list) ` `end_time_hint ` `=` `str` `(time.time() ` `-` `start_time_hint) ` ` ` `# Printing Times of each ` `print` `(` `"Time taken using naive method is : "` `+` `end_time_naive) ` `print` `(` `"Time taken using len() is : "` `+` `end_time_len) ` `print` `(` `"Time taken using length_hint() is : "` `+` `end_time_hint) ` |

*chevron_right*

*filter_none*

**Output :**

The list is : [1, 4, 5, 7, 8] Time taken using naive method is : 2.6226043701171875e-06 Time taken using len() is : 1.1920928955078125e-06 Time taken using length_hint() is : 1.430511474609375e-06

**Conclusion : ** It can be clearly seen that time taken is **naive >> length_hint() > len()**, hence

`len()`

is the best choice to use.Attention geek! Strengthen your foundations with the **Python Programming Foundation** Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the **Python DS** Course.

## Recommended Posts:

- Python | Find maximum length sub-list in a nested list
- Python | Ways to sum list of lists and return sum list
- Python | Ways to Convert a 3D list into a 2D list
- Find length of a string in python (4 ways)
- Python | Ways to split a string in different ways
- Python | Ways to find indices of value in list
- Python - Ways to find Geometric Mean in List
- Python | Convert 1D list to 2D list of variable length
- Python | Convert list of string to list of list
- Python | Convert list of tuples to list of list
- Python | Convert List of String List to String List
- Ways to sort list of dictionaries by values in Python - Using lambda function
- Ways to sort list of dictionaries by values in Python – Using itemgetter
- Extending a list in Python (5 different ways)
- Python | Ways to Spilt the list by some value
- Python | Ways to initialize list with alphabets
- Different ways to clear a list in Python
- Python | Ways to remove particular list element
- Python - Ways to remove duplicates from list
- Python | Ways to shuffle a list

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.