Python | Integer count in Mixed List
Last Updated :
11 May, 2023
The lists in python can handle different type of data types in it. The manipulation of such lists is complicated. Sometimes we have a problem in which we need to find the count of integer values in which the list can contain string as a data type i.e heterogeneous. Let’s discuss certain ways in which this can be performed.
Method #1 : Using list comprehension + len() + isinstance()
This particular problem can be solved by filtering our search of len using the isinstance method, we can filter out the integer value and then can use len function to get required length value.
Python3
# Python3 code to demonstrate
# Integer count in Mixed List
# using list comprehension + len() + isinstance()
# initializing list
test_list = [3, 'computer', 5, 'geeks', 6, 7]
# printing original list
print ("The original list is : " + str(test_list))
# using list comprehension + len() + isinstance()
# Integer count in Mixed List
res = len(list(i for i in test_list if isinstance(i, int)))
# printing result
print ("The length of integers in list is : " + str(res))
OutputThe original list is : [3, 'computer', 5, 'geeks', 6, 7]
The length of integers in list is : 4
The time complexity of the above program is O(n), where n is the length of the input list.
The space complexity of the program is O(1), which is constant. This is because only a few variables are used to store the input list.
Method #2 : Using lambda + map() + len() + isinstance()
The above problem can also be solved using the lambda function as a map() in the len() along with the isinstance method which performs the task of checking for integer values.
Python3
# Python3 code to demonstrate
# Integer count in Mixed List
# using lambda + map() + len() + isinstance()
# initializing list
test_list = [3, 'computer', 5, 'geeks', 6, 7]
# printing original list
print ("The original list is : " + str(test_list))
# using lambda + map() + len() + isinstance()
# Integer count in Mixed List
temp = list(map(lambda i: isinstance(i, int), test_list))
res = len([ele for ele in temp if ele])
# printing result
print ("The length of integers in list is : " + str(res))
OutputThe original list is : [3, 'computer', 5, 'geeks', 6, 7]
The length of integers in list is : 4
Time Complexity: O(n), where n is the length of the list test_list
Auxiliary Space: O(1) additional space is not needed
Method #3 : Using type() and len() methods
The above problem can be solved by using type() to check if the type of the element as int, then append that item in a new list and print the size of the new list.
Python3
# Python3 code to demonstrate
# Integer count in Mixed List
# initializing list
test_list = [3, 'computer', 5, 'geeks', 6, 7]
# printing original list
print("The original list is : " + str(test_list))
# Integer count in Mixed List
res = []
for i in test_list:
if(type(i) is int):
res.append(i)
x = len(res)
# printing result
print("The length of integers in list is : " + str(x))
OutputThe original list is : [3, 'computer', 5, 'geeks', 6, 7]
The length of integers in list is : 4
Time Complexity: O(n*n), where n is the number of elements in the list “test_list”.
Auxiliary Space: O(n), where n is the number of elements in the list “test_list”.
Method #4: Using filter() and len() method
This approach is similar to method 1, but instead of using list comprehension, we use filter() function to filter out the integers.
Python3
# Python3 code to demonstrate
# Integer count in Mixed List
def is_int(val):
return isinstance(val, int)
# initializing list
test_list = [3, 'computer', 5, 'geeks', 6, 7]
# printing original list
print("The original list is : " + str(test_list))
res = len(list(filter(is_int, test_list)))
# printing result
print("The length of integers in list is : " + str(res))
OutputThe original list is : [3, 'computer', 5, 'geeks', 6, 7]
The length of integers in list is : 4
Time Complexity: O(n) where n is the number of elements in the list
Auxiliary Space: O(n) where n is the number of integers in the list
Method #4: Using try and except method.
Algorithm:
- Initialize a counter variable res to zero.
- Loop through each item i in the list test_list.
- For each item i, check if its type is int.
- If i is of type int, increment the counter variable res.
- Finally, print out the value of the counter variable res as the length of integers in the list.
Python3
test_list = [3, 'computer', 5, 'geeks', 6, 7]
try:
res = 0
for i in test_list:
if type(i) == int:
res += 1
print("The length of integers in list is : " + str(res))
except Exception as e:
print("An error occurred: " + str(e))
OutputThe length of integers in list is : 4
Time complexity:
The time complexity of this algorithm is O(n), where n is the length of the input list test_list. This is because the algorithm needs to loop through each item in the list once in order to count the number of integers in the list.
Auxiliary Space:
The auxiliary space complexity of this algorithm is O(1) because it only uses a constant amount of additional space to store the counter variable res and the loop variable i. No additional data structures are used to store the input list or the intermediate results, so the space complexity is constant with respect to the input size.
Method #5: Using isdigit()
Approach:
- Initialize a variable count to 0.
- Loop through the elements in the list using a for loop.
- Check if the element is a digit or not using the isdigit() method.
- If the element is a digit, increment the count variable by 1.
- Return the count variable after the loop ends.
Python3
# Initialize the list
lst = [3, 'computer', 5, 'geeks', 6, 7]
# print the list
print("The original list is: ",lst)
count = 0
for elem in lst:
if str(elem).isdigit():
count += 1
# printing result
print("The length of integers in list is :", count)
OutputThe original list is: [3, 'computer', 5, 'geeks', 6, 7]
The length of integers in list is : 4
Time complexity: O(n), where n is the length of the input list.
Space complexity: O(1)
Similar Reads
Python List Counting Programs Python provides various methods, such as count(), dictionary-based counting, and list comprehensions, to efficiently handle counting operations. This collection of Python programs covers different ways to count elements in lists, including counting occurrences, matching elements, frequency analysis,
2 min read
Python - Binary list to integer A binary list represents binary digits (0s and 1s) as individual elements of a list. This article will explore various methods to convert a binary list into an integer.Using int() with String ConversionThis is the most efficient method. By joining the binary list into a string and using the built-in
3 min read
Python - Count Dictionary Items In Python, dictionaries are one of the most widely used data structures. They allow us to store data in key-value pairs where each key maps to a value. In this article, weâll explore how to count dictionary items in Python using different methods including built-in functions and loops.Counting Total
3 min read
Python | Count String occurrences in mixed list Sometimes, while working with data, we can have a problem in which we need to check for the occurrences of a particular data type. In this, we can also have a problem in which we need to check for string occurrences. Let's discuss certain ways in which this task can be performed. Method #1 : Using i
8 min read
Count unique items in a list There are several methods for finding or counting unique items inside a list in Python. Here we'll discuss 3 methods.Brute Force ApproachThe first method is the brute force approach.We traverse from the start and check the items. If the item is not in the empty list(as it has taken empty) then we wi
3 min read
Python - Count elements in tuple list Sometimes, while working with data in form of records, we can have a problem in which we need to find the count of all the records received. This is a very common application that can occur in Data Science domain. Letâs discuss certain ways in which this task can be performed. Method #1: Using len()
5 min read