Set Mutations

Sort by

recency

|

845 Discussions

|

  • + 0 comments
    _,A,N = int(input()),set(map(int,input().split())),int(input())
    operations = {
        "update" : A.update,
        "intersection_update" : A.intersection_update,
        "difference_update" : A.difference_update,
        "symmetric_difference_update" : A.symmetric_difference_update
    }
    for _ in range(N):
        opr = input().split()[0]
        B = set(map(int,input().split()))
        operations[opr]
    print(sum(A))
    
  • + 0 comments
    A = int(input())
    set_A = set(input().split())
    
    N = int(input())
    
    def upd(origin_set: set, new_set: set):
        origin_set.update(new_set)
    
    def diff_upd(origin_set: set, new_set: set):
        origin_set.difference_update(new_set)
    
    def inters_upd(origin_set: set, new_set: set):
        origin_set.intersection_update(new_set)
    
    def sym_diff_upd_set(origin_set: set, new_set: set):
        origin_set.symmetric_difference_update(new_set)
    
    OPERATIONS= {
        "update": upd,
        "difference_update": diff_upd,
        "intersection_update": inters_upd,
        "symmetric_difference_update": sym_diff_upd_set
    }
    
    for i in range(N):
        opr_name, num = input().split()
        new_set = set(input().split())
        
        func: callable = OPERATIONS[opr_name]
        func(set_A, new_set)
    
    print(sum([int(num) for num in set_A]))
    
  • + 0 comments
    n= int(input())
    A= set(map(int, input().split()))
    N= int(input())
    for i in range(N):
        operation, no_of_elements = input().split()
        other_set= set(map(int, input().split()))
        getattr(A,operation)(other_set) # This has now modified set A
    print(sum(A))
    
  • + 0 comments

    set_1 = set(map(int,input().split())) b = int(input()) for i in range(b): cmd = list(input().split()) operation = cmd[0] set_2 = set(map(int, input().split())) getattr(set_1, operation)(set_2) print(sum(set_1))

  • + 0 comments

    A=int(input()) L1=set(map(int,input().split())) N=int(input()) for _ in range(N): S=input().split() L2 = set(map(int, input().split())) if S[0]=="intersection_update": L1.intersection_update(L2) elif S[0]=="update": L1.update(L2) elif S[0]=="symmetric_difference_update": L1.symmetric_difference_update(L2) elif S[0]=="difference_update": L1.difference_update(L2) print(sum(L1))