Skip to content
Related Articles

Related Articles

Python program to extract rows from Matrix that has distinct data types

View Discussion
Improve Article
Save Article
Like Article
  • Difficulty Level : Medium
  • Last Updated : 07 Apr, 2021

Given a Matrix, the task is to write a python program to extract rows with has no repeated data types.

Examples:

Input : test_list = [[4, 3, 1], [“gfg”, 3, {4:2}], [3, 1, “jkl”], [9, (2, 3)]]

Output : [[‘gfg’, 3, {4: 2}], [9, (2, 3)]]

Explanation : [4, 3, 1] are all integers hence omitted. [9, (2, 3)] has integer and tuple, different data types, hence included in results.

Input : test_list = [[4, 3, 1], [“gfg”, 3, {4:2}, 4], [3, 1, “jkl”], [9, (2, 3)]]

Output : [[9, (2, 3)]]

Explanation : [4, 3, 1] are all integers hence omitted. [9, (2, 3)] has integer and tuple, different data types, hence included in results.

Method : Using type() + list comprehension

In this, we use type() to check for data types of each element of rows, and if the data type repeats, the row is not included in the result.

Python3




# Python3 code to demonstrate working of
# Distinct Data Type Rows
# Using type() + list comprehension
  
# initializing list
test_list = [[4, 3, 1], ["gfg", 3, {4: 2}], [3, 1, "jkl"], [9, (2, 3)]]
  
# printing original list
print("The original list is : " + str(test_list))
  
res = []
for sub in test_list:
  
    # get Distinct types size
    type_size = len(list(set([type(ele) for ele in sub])))
  
    # if equal get result
    if len(sub) == type_size:
        res.append(sub)
  
# printing result
print("The Distinct data type rows : " + str(res))

Output:

The original list is : [[4, 3, 1], [‘gfg’, 3, {4: 2}], [3, 1, ‘jkl’], [9, (2, 3)]]

The Distinct data type rows : [[‘gfg’, 3, {4: 2}], [9, (2, 3)]]

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!