Skip to content
geeksforgeeks
  • Tutorials
    • Python
    • Java
    • Data Structures & Algorithms
    • ML & Data Science
    • Interview Corner
    • Programming Languages
    • Web Development
    • CS Subjects
    • DevOps And Linux
    • School Learning
    • Practice Coding Problems
  • Courses
    • DSA to Development
    • Get IBM Certification
    • Newly Launched!
      • Master Django Framework
      • Become AWS Certified
    • For Working Professionals
      • Interview 101: DSA & System Design
      • Data Science Training Program
      • JAVA Backend Development (Live)
      • DevOps Engineering (LIVE)
      • Data Structures & Algorithms in Python
    • For Students
      • Placement Preparation Course
      • Data Science (Live)
      • Data Structure & Algorithm-Self Paced (C++/JAVA)
      • Master Competitive Programming (Live)
      • Full Stack Development with React & Node JS (Live)
    • Full Stack Development
    • Data Science Program
    • All Courses
  • Python Tutorial
  • Interview Questions
  • Python Quiz
  • Python Glossary
  • Python Projects
  • Practice Python
  • Data Science With Python
  • Python Web Dev
  • DSA with Python
  • Python OOPs
Open In App
Next Article:
Python - Remove Tuples of Length K
Next article icon

Python - Remove Tuples of Length K

Last Updated : 02 May, 2023
Comments
Improve
Suggest changes
Like Article
Like
Report

Given list of tuples, remove all the tuples with length K.

Input : test_list = [(4, 5), (4, ), (8, 6, 7), (1, ), (3, 4, 6, 7)], K = 2 
Output : [(4, ), (8, 6, 7), (1, ), (3, 4, 6, 7)] 
Explanation : (4, 5) of len = 2 is removed. 

Input : test_list = [(4, 5), (4, ), (8, 6, 7), (1, ), (3, 4, 6, 7)], K = 3 
Output : [(4, 5), (4, ), (1, ), (3, 4, 6, 7)] 
Explanation : 3 length tuple is removed.

Method #1 : Using list comprehension

This is one of the ways in which this task can be performed. In this, we iterate for all elements in loop and perform the required task of removal of K length elements using conditions.

Python3
# Python3 code to demonstrate working of  # Remove Tuples of Length K # Using list comprehension  # initializing list test_list = [(4, 5), (4, ), (8, 6, 7), (1, ), (3, 4, 6, 7)]  # printing original list print("The original list : " + str(test_list))  # initializing K  K = 1  # 1 liner to perform task # filter just lengths other than K  # len() used to compute length res = [ele for ele in test_list if len(ele) != K]  # printing result  print("Filtered list : " + str(res)) 

Output
The original list : [(4, 5), (4, ), (8, 6, 7), (1, ), (3, 4, 6, 7)] Filtered list : [(4, 5), (8, 6, 7), (3, 4, 6, 7)]

Time Complexity: O(n), where n is the number of tuples in the input list.
Auxiliary Space: O(m), where m is the number of tuples in the output list (since we are creating a new list to store the filtered tuples).

Method #2 : Using filter() + lambda + len() 

Yet another way to solve this problem. In this, we perform filtering using filter() and lambda function to extract just non K length elements using len().

Python3
# Python3 code to demonstrate working of  # Remove Tuples of Length K # Using filter() + lambda + len()   # initializing list test_list = [(4, 5), (4, ), (8, 6, 7), (1, ), (3, 4, 6, 7)]  # printing original list print("The original list : " + str(test_list))  # initializing K  K = 1  # filter() filters non K length values and returns result res = list(filter(lambda x : len(x) != K, test_list))  # printing result  print("Filtered list : " + str(res)) 

Output
The original list : [(4, 5), (4, ), (8, 6, 7), (1, ), (3, 4, 6, 7)] Filtered list : [(4, 5), (8, 6, 7), (3, 4, 6, 7)]

Time complexity: O(n), where n is the length of the input list.
Auxiliary space: O(n), as a new list is created to store the filtered values.

Method #3: Using a loop

Use a for loop to iterate through the list and remove tuples of length K.

Python3
# Python3 code to demonstrate working of  # Remove Tuples of Length K # Using list comprehension  # initializing list test_list = [(4, 5), (4, ), (8, 6, 7), (1, ), (3, 4, 6, 7)]  # printing original list print("The original list : " + str(test_list))  # initializing K  K = 1  # using list comprehension to filter out tuples of length K # len() is used to compute length res = [ele for ele in test_list if len(ele) != K]  # printing result  print("Filtered list : " + str(res)) 

Output
The original list : [(4, 5), (4,), (8, 6, 7), (1,), (3, 4, 6, 7)] Filtered list : [(4, 5), (8, 6, 7), (3, 4, 6, 7)]

Time complexity: O(n), where n is the length of the input list.
Auxiliary space: O(n)

METHOD 4:Using map() and lambda function

APPROACH:

The given problem is to remove tuples of a given length k from a list of tuples and return the filtered list.

ALGORITHM:

1.Read the original list and the value of k.
2.Create an empty list to store the filtered tuples.
3.Use the map() function with a lambda function as its first argument to iterate over each tuple in the original list.
4.Use the filter() function with a lambda function as its first argument to filter out the tuples whose length is equal to k.
5.Convert the resulting map object into a list using the list() function and store it in the filtered_list.
6.Print the filtered_list.

Python3
# input original_list = [(4, 5), (4, ), (8, 6, 7), (1, ), (3, 4, 6, 7)] k = 1  # use map() and a lambda function to filter out tuples of length k filtered_list = list(map(lambda x: x, filter(lambda x: len(x) != k, original_list)))  # output print(filtered_list) 

Output
[(4, 5), (8, 6, 7), (3, 4, 6, 7)]

Time Complexity:
The time complexity of this approach is O(n), where n is the number of tuples in the original list. This is because we are iterating over each tuple in the original list only once.

Space Complexity:
The space complexity of this approach is also O(n), where n is the number of tuples in the original list. This is because we are creating a new list to store the filtered tuples.

METHOD 5 :Using heapq:

Algorithm:

  1. Initialize an empty result list.
  2. Traverse the input list and for each tuple:
    a. Check if the length of the tuple is not equal to K.
    b. If the length is not equal to K, add the tuple to the result list.
  3. Return the result list.
Python3
import heapq  # initializing list test_list = [(4, 5), (4, ), (8, 6, 7), (1, ), (3, 4, 6, 7)] # printing original list print("The original list : " + str(test_list)) # initializing K K = 1  # filtering non K length values using heapq res = list(filter(lambda x: len(x) != K, test_list))  # printing result print("Filtered list : " + str(res)) #This code is contributed by Vinay Pinjala. 

Output
The original list : [(4, 5), (4,), (8, 6, 7), (1,), (3, 4, 6, 7)] Filtered list : [(4, 5), (8, 6, 7), (3, 4, 6, 7)]

Time Complexity: O(N), where N is the number of tuples in the input list. We traverse the list once to filter the tuples.

Auxiliary Space: O(N), where N is the number of tuples in the input list. We create a new list to store the filtered tuples. The size of this list is equal to or less than the size of the input list, depending on the number of tuples that satisfy the condition.


Next Article
Python - Remove Tuples of Length K

M

manjeet_04
Improve
Article Tags :
  • Python
  • Python Programs
  • Python list-programs
  • Python tuple-programs
Practice Tags :
  • python

Similar Reads

    Python | Remove matching tuples
    The problem of removing the matching elements from two lists and constructing a new list having just the filtered elements not present in 2nd list has been discussed earlier, but sometimes, we have more than an elementary element, but a tuple as element of list. Handling such a case requires differe
    6 min read
    Python - Filter Range Length Tuples
    We are given a list of tuples where each tuple contains multiple elements, and our task is to filter out tuples whose lengths do not fall within a specified range. For example, if we have a = [(1, 2), (3, 4, 5), (6,), (7, 8, 9, 10)] and the range (2, 3), we should keep only tuples with 2 or 3 elemen
    3 min read
    Python | Remove all strings from a list of tuples
    Given a list of tuples, containing both integer and strings, the task is to remove all strings from list of tuples. Examples: Input : [(1, 'Paras'), (2, 'Jain'), (3, 'GFG'), (4, 'Cyware')] Output : [(1), (2), (3), (4)] Input : [('string', 'Geeks'), (2, 225), (3, '111')] Output : [(), (2, 225), (3,)]
    8 min read
    Python | Chunk Tuples to N
    Sometimes, while working with data, we can have a problem in which we may need to perform chunking of tuples each of size N. This is popular in applications in which we need to supply data in chunks. Let's discuss certain ways in which this task can be performed. Method #1 : Using list comprehension
    4 min read
    Python - Remove Duplicate subset Tuples
    Sometimes, while working with Python tuples, we can have a problem in which we need to perform the removal of tuples, which are already present as subsets in other tuples. This kind of problem can be useful in data preprocessing. Let's discuss certain ways in which this task can be performed. Exampl
    6 min read
geeksforgeeks-footer-logo
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)
Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
GFG App on Play Store GFG App on App Store
Advertise with us
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • In Media
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Placement Training Program
  • Languages
  • Python
  • Java
  • C++
  • PHP
  • GoLang
  • SQL
  • R Language
  • Android Tutorial
  • Tutorials Archive
  • DSA
  • Data Structures
  • Algorithms
  • DSA for Beginners
  • Basic DSA Problems
  • DSA Roadmap
  • Top 100 DSA Interview Problems
  • DSA Roadmap by Sandeep Jain
  • All Cheat Sheets
  • Data Science & ML
  • Data Science With Python
  • Data Science For Beginner
  • Machine Learning
  • ML Maths
  • Data Visualisation
  • Pandas
  • NumPy
  • NLP
  • Deep Learning
  • Web Technologies
  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • ReactJS
  • NextJS
  • Bootstrap
  • Web Design
  • Python Tutorial
  • Python Programming Examples
  • Python Projects
  • Python Tkinter
  • Python Web Scraping
  • OpenCV Tutorial
  • Python Interview Question
  • Django
  • Computer Science
  • Operating Systems
  • Computer Network
  • Database Management System
  • Software Engineering
  • Digital Logic Design
  • Engineering Maths
  • Software Development
  • Software Testing
  • DevOps
  • Git
  • Linux
  • AWS
  • Docker
  • Kubernetes
  • Azure
  • GCP
  • DevOps Roadmap
  • System Design
  • High Level Design
  • Low Level Design
  • UML Diagrams
  • Interview Guide
  • Design Patterns
  • OOAD
  • System Design Bootcamp
  • Interview Questions
  • Inteview Preparation
  • Competitive Programming
  • Top DS or Algo for CP
  • Company-Wise Recruitment Process
  • Company-Wise Preparation
  • Aptitude Preparation
  • Puzzles
  • School Subjects
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Social Science
  • English Grammar
  • Commerce
  • World GK
  • GeeksforGeeks Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences