Agregar continuamente a un diccionario

Karl Johan

Tengo esta función que hace cambios en el diccionario.

    a_dict = {"car": ["audi"], 
             "company": ["apple"]}

     def add_dict(vehicle,brand,stuff):
         for keyword in stuff:
            if keyword == vehicle:
                 if brand not in stuff[keyword]: 
                    stuff[keyword].append(brand) 
                    break 
            else:
                stuff[vehicle] = [brand] 
                break 
     add_dict("car","bmw",a_dict)      

    print(a_dict)   

Este código agregará "bmw" a la clave "coche". Sin embargo, cuando ejecuto el código nuevamente, usando por ejemplo "mercedes" en lugar de bmw, restablece el diccionario al primero. Quiero que continúe agregando la lista actualizada.

cola de ratón

En este momento, la elsecláusula se activa si hay al menos una clave que no coincide vehicle. Arreglarlo así:

def add_to_dict(product_type, brand, product_dict):
    if product_type in product_dict:
        product_dict[product_type].append(brand)
    else:
        product_dict[product_type] = [brand]

product_dict = {}
add_to_dict("car", "audi", product_dict)
add_to_dict("car", "mercedes", product_dict)
add_to_dict("phone", "apple", product_dict)

print(product_dict)
# Output:
# {"car": ["audi","mercedes"], "phone": ["apple"]}

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados