Python - Removendo Dicionário da lista de Dicionários
Dicionário é um recurso muito comumente usado do python, que é usado para armazenar dados dentro dele conforme a necessidade do usuário. Outro procedimento típico envolve editar ou manipular esses dados. Para se tornar um programador produtivo e rápido, você precisa descobrir como se livrar de um dicionário de uma lista de dicionários. Existem muitas técnicas para remover um dicionário da lista de dicionários, que serão abordadas neste artigo.
Diferentes métodos para remover dicionário da lista de dicionários
Método de loop
Especificaremos o dicionário que será removido da lista de dicionários e então criaremos uma condição usando if() para fornecer um argumento para remover o dicionário da lista de dicionários. Podemos entender de forma mais clara através do seguinte exemplo:
Exemplo
# Dictionaries
Cities = [
{"City": "Bangalore", "location": "India"},
{"City": "Toronto", "location": "Canada"},
{"City": "Liverpool", "location": "England"},
{"City": "kano", "location": "Nigeria"},
{"City": "Sydney", "location": "Australia"},
{"City": "Berlin", "location": "Germany"},
{"City": "New York", "location": "USA"}
]
Remove = "Liverpool" #Specifying the dictionary to be removed
for city in Cities: # Checking all the different dictionaries
if city["City"] == Remove: #Creating a condition
Cities.remove(city) #If the condition is satisfied remove() method will be used
print(Cities) #Display the output after removing the dictionary
Saída
A saída do programa será a seguinte:
[{'City': 'Bangalore', 'location': 'India'}, {'City': 'Toronto', 'location': 'Canada'}, {'City': 'kano', 'location': 'Nigeria'}, {'City': 'Sydney', 'location': 'Australia'}, {'City': 'Berlin', 'location': 'Germany'}, {'City': 'New York', 'location': 'USA'}]
Compreensão de lista
Usando o método de compreensão de lista, removeremos o dicionário específico aplicando a condição e então poderemos criar uma nova lista da lista modificada de dicionários sem a presença do dicionário especificado. Podemos entendê-lo mais claramente através do seguinte exemplo:
Exemplo
#Dictionaries
Cities = [
{"City": "Bangalore", "location": "India"},
{"City": "Toronto", "location": "Canada"},
{"City": "Liverpool", "location": "England"},
{"City": "kano", "location": "Nigeria"},
{"City": "Sydney", "location": "Australia"},
{"City": "Berlin", "location": "Germany"},
{"City": "New York", "location": "USA"}
]
Remove = "Liverpool" #Specifying Dictionary To Be Removed
Cities = [city for city in Cities if city["City"] != Remove] #Creating a new list and specifying the condition to remove the unwanted dictionary
print(Cities) #Display The Updated Output
Saída
A saída do programa acima será a seguinte:
[{'City': 'Bangalore', 'location': 'India'}, {'City': 'Toronto', 'location': 'Canada'}, {'City': 'kano', 'location': 'Nigeria'}, {'City': 'Sydney', 'location': 'Australia'}, {'City': 'Berlin', 'location': 'Germany'}, {'City': 'New York', 'location': 'USA'}]
Alterando a lista original
Neste método, não criamos nenhuma lista nova e, em vez disso, fazemos alterações diretamente na lista original de dicionários. Então, isso torna o trabalho fácil e rápido e também não é feita duplicação de dados. Podemos entendê-lo mais claramente através do seguinte exemplo:
Exemplo
# Dictionaries
Cities = [
{"City": "Bangalore", "location": "India"},
{"City": "Toronto", "location": "Canada"},
{"City": "Liverpool", "location": "England"},
{"City": "kano", "location": "Nigeria"},
{"City": "Sydney", "location": "Australia"},
{"City": "Berlin", "location": "Germany"},
{"City": "New York", "location": "USA"}
]
for City in Cities: #We will specify a condition
if City.get("location") == 'England': #If the location is England
Cities.remove(City) #Remove the dictionary with location as England
print(Cities) #Display The Modified Output
Saída
A saída do código acima será a seguinte:
[{'City': 'Bangalore', 'location': 'India'}, {'City': 'Toronto', 'location': 'Canada'}, {'City': 'kano', 'location': 'Nigeria'}, {'City': 'Sydney', 'location': 'Australia'}, {'City': 'Berlin', 'location': 'Germany'}, {'City': 'New York', 'location': 'USA'}]
Função de filtro
Como o nome sugere, simplesmente aplicaremos um filtro para especificar o dicionário a ser removido da lista de dicionários. Podemos entendê-lo melhor através do seguinte exemplo:
Exemplo
#Dictionaries
Cities = [
{"City": "Bangalore", "location": "India"},
{"City": "Toronto", "location": "Canada"},
{"City": "Liverpool", "location": "England"},
{"City": "kano", "location": "Nigeria"},
{"City": "Sydney", "location": "Australia"},
{"City": "Berlin", "location": "Germany"},
{"City": "New York", "location": "USA"}
]
new_dictionary = list(filter(lambda City: City.get("location") != 'England', Cities)) # We specified a condition that if the location is England is found from the list then it is to be filtered out and removed from the list of dictionaries
print(new_dictionary) #Display the Modified Output
Saída
A saída do programa acima será a seguinte:
[{'City': 'Bangalore', 'location': 'India'}, {'City': 'Toronto', 'location': 'Canada'}, {'City': 'kano', 'location': 'Nigeria'}, {'City': 'Sydney', 'location': 'Australia'}, {'City': 'Berlin', 'location': 'Germany'}, {'City': 'New York', 'location': 'USA'}]
Indexação de lista
Este método é usado apenas no caso de listas pequenas de dicionários quando você sabe a posição exata do dicionário a ser removido. Então você só precisa especificar a posição do dicionário para removê-lo. Vamos dar um exemplo para entender mais claramente:
Exemplo
#Dictionaries
Cities = [
{"City": "Bangalore", "location": "India"},
{"City": "Toronto", "location": "Canada"},
{"City": "Liverpool", "location": "England"},
{"City": "kano", "location": "Nigeria"},
{"City": "Sydney", "location": "Australia"},
{"City": "Berlin", "location": "Germany"},
{"City": "New York", "location": "USA"}
]
dictionary_remove= 2 #It specifies the position of the dictionary to be removed
#The index number starts from 0
del Cities[dictionary_remove] #It commands to delete the dictionary in specified index number
print(Cities) #Displays the Modified Output
Saída
A saída do programa acima será a seguinte:
[{'City': 'Bangalore', 'location': 'India'}, {'City': 'Toronto', 'location': 'Canada'}, {'City': 'kano', 'location': 'Nigeria'}, {'City': 'Sydney', 'location': 'Australia'}, {'City': 'Berlin', 'location': 'Germany'}, {'City': 'New York', 'location': 'USA'}]
Conclusão
Ao trabalhar com grandes quantidades de dados, alterar os dados é uma etapa necessária no processo. Portanto, é fundamental estar atento às diversas técnicas para implementar rapidamente as modificações.
Este artigo detalha todas as maneiras possíveis de remover um dicionário de uma lista de dicionários incluída em uma fonte de dados. Ao trabalhar neste tipo de abordagem, você deve estar atento, pois existe a possibilidade de erros de dados que podem resultar na perda de seus dados. Como resultado, é essencial fazer um backup dos seus dados antes de implementar qualquer alteração neles.