Dada la lista de diccionarios, la tarea es escribir un programa en Python para filtrar los diccionarios con valores en orden creciente, es decir, ordenados.
Ejemplos:
Entrada : test_list = [{‘gfg’: 2, ‘is’: 8, ‘good’: 10}, {‘gfg’: 1, ‘for’: 10, ‘geeks’: 9}, {‘love’: 3, ‘gfg’: 4}]
Salida : [{‘gfg’: 2, ‘is’: 8, ‘good’: 10}, {‘love’: 3, ‘gfg’: 4}]
Explicación : 2, 8, 10 están en orden creciente.
Entrada : test_list = [{‘gfg’: 2, ‘is’: 8, ‘good’: 10}, {‘gfg’: 1, ‘for’: 10, ‘geeks’: 9}, {‘love’: 4, ‘gfg’: 3}]
Salida : [{‘gfg’: 2, ‘is’: 8, ‘good’: 10}]
Explicación : 2, 8, 10 están en orden creciente.
Método n. ° 1: usar sorted() + valores() + comprensión de lista
En esto, realizamos la tarea de ordenar usando sorted() y extrayendo valores usando values(), la comprensión de listas se usa para realizar la iteración de todos los diccionarios.
Python3
# Python3 code to demonstrate working of # Filter dictionaries with ordered values # Using sorted() + values() + list comprehension # initializing list test_list = [{'gfg': 2, 'is': 8, 'good': 10}, {'gfg': 1, 'for': 10, 'geeks': 9}, {'love': 3, 'gfg': 4}] # printing original list print("The original list is : " + str(test_list)) # sorted to check with ordered values # values() extracting dictionary values res = [sub for sub in test_list if sorted( list(sub.values())) == list(sub.values())] # printing result print("The filtered Dictionaries : " + str(res))
Producción:
La lista original es: [{‘gfg’: 2, ‘is’: 8, ‘good’: 10}, {‘gfg’: 1, ‘for’: 10, ‘geeks’: 9}, {‘love’ : 3, ‘gfg’: 4}]
Los diccionarios filtrados: [{‘gfg’: 2, ‘is’: 8, ‘good’: 10}, {‘love’: 3, ‘gfg’: 4}]
Método #2: Usar filter() + lambda + sorted()
En esto, realizamos la tarea de filtrar usando filter(), y la función lambda se usa para realizar la tarea de inyectar la funcionalidad necesaria para verificar valores crecientes.
Python3
# Python3 code to demonstrate working of # Filter dictionaries with ordered values # Using filter() + lambda + sorted() # initializing list test_list = [{'gfg': 2, 'is': 8, 'good': 10}, {'gfg': 1, 'for': 10, 'geeks': 9}, {'love': 3, 'gfg': 4}] # printing original list print("The original list is : " + str(test_list)) # sorted to check with ordered values # values() extracting dictionary values # filter() and lambda function used to filter res = list(filter(lambda sub: sorted(list(sub.values())) == list(sub.values()), test_list)) # printing result print("The filtered Dictionaries : " + str(res))
Producción:
La lista original es: [{‘gfg’: 2, ‘is’: 8, ‘good’: 10}, {‘gfg’: 1, ‘for’: 10, ‘geeks’: 9}, {‘love’ : 3, ‘gfg’: 4}]
Los diccionarios filtrados: [{‘gfg’: 2, ‘is’: 8, ‘good’: 10}, {‘love’: 3, ‘gfg’: 4}]
Publicación traducida automáticamente
Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA