def merge_option(opts: Map, k: str, v): keys = k.split(".") new_keys = [] for value in keys: if value != "": new_keys.append(value) keys = new_keys length = len(keys) last = length - 1 if length > 1: for i in range(length): key = keys[i:i + 1][0] if i < last: if opts.get(key) == None: opts = opts.setdefault(key, Map()) else: opts = opts.get(key) if opts.contains(keys[i + 1:i + 2][0]): if i == last - 1: return else: t = type(opts.get(keys[i + 1:i + 2][0])) if t != Map and t != dict: return else: opts.setdefault(key, v) else: if opts.contains(k) == False: opts.set(k, v)
from bee.data.map import Map m1 = Map(('a', 'b', 'c'), (1, 2, 3)) print(m1.keys()) print(m1.values()) print(m1.items()) print(hasattr(m1, 'a')) print(m1.contains('a')) # m1.remove("a") delattr(m1, "a") print(m1.keys()) m1.empty() print(m1.values()) # print(m1.get(1)) m2 = Map(a=1, b=2) print(m2) # m3 = Map({"a" : 1}) # # print(m3)