.union()
The .union() operator returns the union of a set and the set of elements in an iterable.
Sometimes, the | operator is used in place of .union() operator, but it operates only on the set of elements in set.
Sometimes, the | operator is used in place of .union() operator, but it operates only on the set of elements in set.
Set is immutable to the .union() operation (or | operation).
Example
>>> s = set("Hacker")
>>> print s.union("Rank")
set(['a', 'R', 'c', 'r', 'e', 'H', 'k', 'n'])
>>> print s.union(set(['R', 'a', 'n', 'k']))
set(['a', 'R', 'c', 'r', 'e', 'H', 'k', 'n'])
>>> print s.union(['R', 'a', 'n', 'k'])
set(['a', 'R', 'c', 'r', 'e', 'H', 'k', 'n'])
>>> print s.union(enumerate(['R', 'a', 'n', 'k']))
set(['a', 'c', 'r', 'e', (1, 'a'), (2, 'n'), 'H', 'k', (3, 'k'), (0, 'R')])
>>> print s.union({"Rank":1})
set(['a', 'c', 'r', 'e', 'H', 'k', 'Rank'])
>>> s | set("Rank")
set(['a', 'R', 'c', 'r', 'e', 'H', 'k', 'n'])
Task
The students of District College have subscriptions to English and French newspapers. Some students have subscribed only to English, some have subscribed to only French and some have subscribed to both newspapers.
You are given two sets of student roll numbers. One set has subscribed to the English newspaper, and the other set is subscribed to the French newspaper. The same student could be in both sets. Your task is to find the total number of students who have subscribed to at least one newspaper.
Input Format
The first line contains an integer, , the number of students who have subscribed to the English newspaper.
The second line contains space separated roll numbers of those students.
The third line contains , the number of students who have subscribed to the French newspaper.
The fourth line contains space separated roll numbers of those students.
The second line contains space separated roll numbers of those students.
The third line contains , the number of students who have subscribed to the French newspaper.
The fourth line contains space separated roll numbers of those students.
Constraints
Output Format
Output the total number of students who have at least one subscription.
Sample Input
9
1 2 3 4 5 6 7 8 9
9
10 1 2 3 11 21 55 6 8
Sample Output
13
Explanation
Roll numbers of students who have at least one subscription:
and . Roll numbers: and are in both sets so they are only counted once.
Hence, the total is students.
and . Roll numbers: and are in both sets so they are only counted once.
Hence, the total is students.
Set .union() Operation - Hacker Rank Solution
Approach is:
STEP 1: Store the space separated input of roll numbers as sets in variables English and French.
STEP 2: Print the length of the union from sets English and French.
STEP 1: Store the space separated input of roll numbers as sets in variables English and French.
STEP 2: Print the length of the union from sets English and French.
Problem Setter's code:
E = int(raw_input())
English = set(raw_input().split())
F = int(raw_input())
French = set(raw_input().split())
print len(English | French)
# Enter your code here. Read input from STDIN. Print output to STDOUT
ReplyDeleten = int(input())
english = set(input().split())
b = int(input())
french = set(input().split())
p = len(english.union(french))
print (p)
# Enter your code here. Read input from STDIN. Print output to STDOUT
ReplyDeleten = int(input())
english = set(input().split())
b = int(input())
french = set(input().split())
p = len(english.union(french))
print (p)