I. Introdução:
Em Python, existem várias maneiras de remover várias informações de dicionário de uma lista:
- Use compreensão de lista: filtre dicionários que não precisam ser excluídos por meio de declarações de julgamento condicional para formar uma nova lista.
- Use
filter()
funções: combine expressões e funções lambdafilter()
para filtrar dicionários que não precisam ser excluídos e formar uma nova lista. - Use
del
palavras-chave: exclua diretamente vários dicionários da lista por meio de operações de indexação ou divisão.
2. Como usar:
2.1. Usando compreensão de lista
my_list = [
{"name": "Alice", "age": 25},
{"name": "Bob", "age": 30},
{"name": "Charlie", "age": 35},
{"name": "David", "age": 40}
]
# 删除 age 大于等于 30 的字典
my_list = [item for item in my_list if item["age"] < 30]
print(my_list)
A saída é:
[{'name': 'Alice', 'age': 25}]
No exemplo, usamos a compreensão de lista para percorrer my_list
todos os dicionários da lista, item["age"] < 30
filtrar os dicionários que não precisam ser excluídos por meio da instrução de julgamento condicional e, finalmente, obter uma nova lista.
2.2. Usando filter()
a função
my_list = [
{"name": "Alice", "age": 25},
{"name": "Bob", "age": 30},
{"name": "Charlie", "age": 35},
{"name": "David", "age": 40}
]
# 删除 age 大于等于 30 的字典
my_list = list(filter(lambda item: item["age"] < 30, my_list))
print(my_list)
A saída é:
[{'name': 'Alice', 'age': 25}]
No exemplo, usamos uma expressão lambda filter()
combinada com a função para filtrar os dicionários que não precisam ser excluídos e converter o resultado em uma lista.
2.3. Use del
palavras-chave
my_list = [
{"name": "Alice", "age": 25},
{"name": "Bob", "age": 30},
{"name": "Charlie", "age": 35},
{"name": "David", "age": 40}
]
# 删除索引为 1 和 3 的字典
del my_list[1]
del my_list[3-1] # 删除第二个元素后,列表长度减 1
print(my_list)
A saída é:
[{'name': 'Alice', 'age': 25}, {'name': 'Charlie', 'age': 35}]
No exemplo, usamos del
a palavra-chave para deletar os dicionários indexados 1
e respectivamente através da operação de indexação 2
, e imprimir a lista deletada. Ressalta-se que após a exclusão de um elemento, o comprimento da lista é reduzido em 1, portanto, ao excluir vários dicionários, a alteração do índice deve ser considerada.