📜  Python – 在字典中追加多类型值

📅  最后修改于: 2022-05-13 01:55:35.076000             🧑  作者: Mango

Python – 在字典中追加多类型值

有时,在使用Python字典时,我们可能会遇到需要根据数据类型更新字典值的问题。这种类型的问题可以在包括数据在内的许多领域中得到应用。让我们讨论一种可以解决此问题的方法。

方法:使用isinstance() + update() + extend()
上述功能的组合可用于执行此任务。在此,我们使用 isinstance() 检查 value 的数据类型,并使用 update() 执行字典更新,使用 extend() 执行列表更新。

# Python3 code to demonstrate working of 
# Append Multitype Values in Dictionary
# Using isinstance() + update() + extend()
  
# helper_fnc
def update_dictionary(key, val, test_dict):
      
    if key not in test_dict:
        current_dict[key] = value 
      
    elif type(val) not in [str, list, dict]:
        raise ValueError("Invalid Data Type")
      
    elif isinstance(val, list):
        test_dict[key].extend(val)
      
    elif isinstance(val, dict):
        test_dict[key].update(val)
      
    else:
        test_dict[key] = test_dict[key] + val
      
    return test_dict
  
# initializing dictionary
test_dict = {'gfg' : "geekfor", 'is' : {'a' : 5, 'b' : 6}, 'best' : [1, 2, 3]}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# initializing dict, string and append
up_dict = {'c' : 7}
up_str = 'geeks'
up_list = [4, 5]
  
# Append Multitype Values in Dictionary
# Using isinstance() + update() + extend()
res = update_dictionary('gfg', up_str, test_dict)
res = update_dictionary('is', up_dict, res)
res = update_dictionary('best', up_list, res)
  
# printing result 
print("The update dictionary : " + str(res)) 
输出 :