Set .discard(), .remove() & .pop() HackerRank Soution In Python

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 sset([1, 2, 3, 4, 6, 7, 8, 9])>>> print s.remove(4)None>>> print sset([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 sset([1, 2, 3, 4, 6, 7, 8, 9])>>> print s.discard(4)None>>> print sset([1, 2, 3, 6, 7, 8, 9])>>> s.discard(0)>>> print sset([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 sset([])>>> 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  on a single line.

Sample Input

91 2 3 4 5 6 7 8 910popremove 9discard 9discard 8remove 7pop discard 6remove 5pop 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 – Set .discard() .remove() & .pop() HackerRank In Python3

n = int(input())s = set(map(int, input().split()))for _ in range(int(input())):    cmd = input().split()    if cmd[0] == 'pop':        s.pop()    elif cmd[0] == 'discard':        s.discard(int(cmd[1]))    else:        s.remove(int(cmd[1]))        print(sum(s))

Comments