Python – Remove given character from first element of Tuple
Given a Tuple list, remove K character from 1st element of 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 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 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 list of tuples
- Split each first element of tuple by K and join by empty string
- Append the joined string and second element of tuple together as 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 = "$" # replace 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
Please Login to comment...