.remove(x)
This operation removes element from the set.
If element does not exist, it raises a
If element 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 from the set.
If element does not exist, it does not raise a
The .discard(x) operation returns
If element 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
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 , and you have to execute commands given in lines.
The commands will be pop, remove and discard.
Input Format
The first line contains integer , the number of elements in the set .
The second line contains space separated elements of set . All of the elements are non-negative integers, less than or equal to 9.
The third line contains integer , the number of commands.
The next lines contains either pop, remove and/or discard commands followed by their associated value.
The second line contains space separated elements of set . All of the elements are non-negative integers, less than or equal to 9.
The third line contains integer , the number of commands.
The next lines contains either pop, remove and/or discard commands followed by their associated value.
Constraints
Output Format
Print the sum of the elements of set 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 operations on the set, we get set. Hence, the sum is .
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.
Set .discard(), .remove() & .pop() - Hacker Rank Solution
The approach is:
Step 1: Store the space separated input of elements in set .
Step 2: Run a loop times and store the commands in variable .
Step 3: Using conditionals, execute the appropriate commands on set .
Step 4: Print the sum of set .
Step 1: Store the space separated input of elements in set .
Step 2: Run a loop times and store the commands in variable .
Step 3: Using conditionals, execute the appropriate commands on set .
Step 4: Print the sum of set .
n = int(raw_input()) s = set([int(x) for x in raw_input().strip().split()]) for _ in range(int(raw_input())): a = list(raw_input().strip().split()) if a[0] == 'pop': s.pop() elif a[0] == 'discard': s.discard(int(a[1])) else: s.remove(int(a[1])) print sum(s)
No comments:
Post a Comment