Set discard() remove() and pop() in Python - HackerRank Solution
Set discard() remove() and pop() in Python - HackerRank Solution
Problem :
This operation removes element x from the set.
If element x does not exist, it raises a KeyError.
The .remove(x) operation returns None.
Example :
>>> s = set([1, 2, 3, 4, 5, 6, 7, 8, 9]) >>> s.remove(5) >>> print s set([1, 2, 3, 4, 6, 7, 8, 9]) >>> print s.remove(4) None >>> print s set([1, 2, 3, 6, 7, 8, 9]) >>> s.remove(0) KeyError: 0
.discard(x)
This operation also removes element x from the set.
If element x does not exist, it does not raise a KeyError.
The .discard(x) operation returns None.
Example :
>>> s = set([1, 2, 3, 4, 5, 6, 7, 8, 9]) >>> s.discard(5) >>> print s set([1, 2, 3, 4, 6, 7, 8, 9]) >>> print s.discard(4) None >>> print s set([1, 2, 3, 6, 7, 8, 9]) >>> s.discard(0) >>> print s set([1, 2, 3, 6, 7, 8, 9])
.pop()
This operation removes and return an arbitrary element from the set. If there are no elements to remove, it raises a KeyError.
Example :
>>> s = set([1]) >>> print s.pop() 1 >>> print s set([]) >>> print s.pop() KeyError: pop from an empty set
Task :
The commands will be pop, remove and discard.
Input Format :
The second line contains n space separated elements of set s. All of the elements are non-negative integers, less than or equal to 9.
The third line contains integer N, the number of commands.
The next N lines contains either pop, remove and/or discard commands followed
by their associated value.
Constraints :
- 0 < n < 20
- 0 < N < 20
Output Format :
Print the sum of the elements of set s on a single line.
Sample Input :
9 1 2 3 4 5 6 7 8 9 10 pop remove 9 discard 9 discard 8 remove 7 pop discard 6 remove 5 pop discard 5
Sample Output :
4
Explanation :
Note: Convert the elements of set s to integers while you are assigning them. To ensure the proper input of the set, we have added the first two lines of code to the editor.
Solution :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | # Set discard() remove() and pop() in Python - Hacker Rank Solution # Python 3 # Set discard() remove() and pop() in Python - Hacker Rank Solution START n = int(input()) s = set(map(int,input().split())) num = int(input()) for i in range(num): ip = input().split() if ip[0]=="remove": s.remove(int(ip[1])) elif ip[0]=="discard": s.discard(int(ip[1])) else : s.pop() print(sum(list(s))) # Set discard() remove() and pop() in Python - Hacker Rank Solution END |
the above hole problem statement is given by hackerrank.com but the solution is generated by the codeworld19 authority if any of the query regarding this post or website fill the following contact form thank you.
number_of_elements = int(input())
inserted_set = set(map(int, input().split()))
number_of_operations = int(input())
for _ in range(number_of_operations):
command = input().split()
if len(command) == 1:
eval(f'inserted_set.{command[0]}()')
elif len(command) == 2:
eval(f'inserted_set.{command[0]}({command[1]})')
print(sum(inserted_set))