Python β Remove given character from first element of Tuple
Given a Tuple list, remove K character from 1st element of the Tuple being String.
Input : test_list = [("GF$g!", 5), ("!i$s", 4), ("best!$", 10)], K = '$' Output : [('GFg!', 5), ('!is', 4), ('best!', 10)] Explanation : First element's strings K value removed.
Input : test_list = [("GF$g!", 5), ("best!$", 10)], K = '$' Output : [('GFg!', 5), ('best!', 10)] Explanation : First element's strings K value removed.
Method #1 : Using replace() + list comprehension
In this, we use replace() to perform the task of removing of K character and list comprehension to reform the tuple.
Python3
# Python3 code to demonstrate working of # Remove K character from first element of Tuple # Using replace() + list comprehension # Initializing list test_list = [( "GF ! g !" , 5 ), ( "! i ! s" , 4 ), ( "best !!" , 10 )] # Printing original list print ( "The original list is : " + str (test_list)) # Initializing K K = "!" # Replace with empty string removes the desired char. res = [(sub[ 0 ].replace(K, ''), sub[ 1 ]) for sub in test_list] # Printing result print ( "The filtered tuples : " + str (res)) |
The original list is : [('GF!g!', 5), ('!i!s', 4), ('best!!', 10)] The filtered tuples : [('GFg', 5), ('is', 4), ('best', 10)]
Method #2 : Using translate() + list comprehension
In this, we perform the task of removal using translate(), which needs conversion to ASCII using ord(), and replaced with an empty character.
Python3
# Python3 code to demonstrate working of # Remove K character from first element of Tuple # Using translate() + list comprehension # Initializing list test_list = [( "GF ! g !" , 5 ), ( "! i ! s" , 4 ), ( "best !!" , 10 )] # Printing original list print ( "The original list is : " + str (test_list)) # Initializing K K = "!" # Translation after conversion to ascii number res = [(sub[ 0 ].translate({ ord (K): None }), sub[ 1 ]) for sub in test_list] # Printing result print ( "The filtered tuples : " + str (res)) |
The original list is : [('GF!g!', 5), ('!i!s', 4), ('best!!', 10)] The filtered tuples : [('GFg', 5), ('is', 4), ('best', 10)]
Method #3: Using for loop
Python3
# Python3 code to demonstrate working of # Remove K character from first element of Tuple # Initializing list test_list = [( "GF!g!" , 5 ), ( "!i!s" , 4 ), ( "best!!" , 10 )] # Printing original list print ( "The original list is : " + str (test_list)) # Initializing K res1 = [] K = "!" for i in test_list: res = "" for j in i[ 0 ]: if (j ! = K): res + = j x = (res, i[ 1 ]) res1.append(x) # Printing result print ( "The filtered tuples : " + str (res1)) |
The original list is : [('GF!g!', 5), ('!i!s', 4), ('best!!', 10)] The filtered tuples : [('GFg', 5), ('is', 4), ('best', 10)]
Time Complexity: O(N)
Auxiliary Space: O(N)
Method #4 : Using split() and join() methods
Approach:
- Initiate a for loop to traverse the list of tuples.
- Split each first element of a tuple by K and join by an empty string.
- Append the joined string and the second element of the tuple together as a tuple to output list.
- Display output list.
Python3
# Python3 code to demonstrate working of # Remove K character from first element of Tuple # Initializing list test_list = [( 'GF$g!' , 5 ), ( '!i$s' , 4 ), ( 'best!$' , 10 )] # Printing original list print ( "The original list is : " + str (test_list)) # Initializing K K = "$" # Replacing with empty string removes the desired char. res = [] for i in test_list: v = [] x = i[ 0 ].split(K) x = "".join(x) v.append((x, i[ 1 ])) res.append(v) # Printing result print ( "The filtered tuples : " + str (res)) |
The original list is : [('GF$g!', 5), ('!i$s', 4), ('best!$', 10)] The filtered tuples : [[('GFg!', 5)], [('!is', 4)], [('best!', 10)]]
Time Complexity: O(M*N) M- length of tuples list N β length of each tuple
Auxiliary Space: O(M*N) M- length of tuples list N β length of each tuple
METHOD 5:Using map and lambda method
The given Python code removes a given character from the first element of each tuple in a list using the map function and lambda function. It replaces the given character with an empty string and strips any whitespace from the resulting string.
Algorithm:
- Define a list of tuples test_list.
- Use the map() function with a lambda function to remove the given character from the first element of each tuple.
- The lambda function takes a tuple as input, replaces the given character with an empty string using the replace() method and strips any whitespace from the resulting string using the strip() method.
- The resulting filtered tuples are stored in a list filtered_list.
- The filtered list is printed.
Python3
# Input list test_list = [( "GFg !" , 5 ), ( "is" , 4 ), ( "best!" , 10 )] filtered_list = list ( map ( lambda tup: (tup[ 0 ].replace( '!' , '').strip(), tup[ 1 ]), test_list)) print ( "The filtered tuples:" , filtered_list) |
The filtered tuples: [('GFg', 5), ('is', 4), ('best', 10)]
Time Complexity: O(N), where n is the number of tuples in the input list. This is because the map() function applies the lambda function to each tuple in the input list once.
Auxiliary Space: O(N), where n is the number of tuples in the input list. This is because the resulting filtered tuples are stored in a list, which has a space complexity of O(n).