Set discard() remove() and pop() in Python - HackerRank Solution

Set discard() remove() and pop() in Python - HackerRank Solution
Set discard() remove() and pop() in Python - HackerRank Solution



Problem :


.remove(x)
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 :

You have a non-empty set s, and you have to execute N commands given in N lines.
The commands will be pop, remove and discard.



Input Format :

The first line contains integer n, the number of elements in the set s.
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 :

After completing these 10 operations on the set, we get set([4]). Hence, the sum is 4.
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





Disclaimer :-
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.

Next Post Previous Post
1 Comments
  • Leonid Churakov
    Leonid Churakov Sunday, January 02, 2022

    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))

Add Comment
comment url