Как создать функцию, которая будет удалять запись из словаря, где значение является параметром в Python.?Python

Программы на Python
Anonymous
Как создать функцию, которая будет удалять запись из словаря, где значение является параметром в Python.?

Сообщение Anonymous »

Мне просто интересно, как создать функцию, которая будет удалять запись из словаря в Python, где значение будет параметром, но должно соответствовать только одному значению, где есть несколько параметров
mu словарь выглядит вот так:

Код: Выделить всё

students = {
"student1": {"name": "John", "age": 21, "live" :"UK"},
"student2": {"name":"Steve", "age":25, "live": "USE"},
"student3": {"name":"Tom", "age":32, "live": "France "},
"student4": {"name":"Josh", "age":31, "live": "Spain"}
}

Я создал функцию, но эта запись удаляется по ключу:

Код: Выделить всё

def delete_student(students,student_id):
del students[student_id]
return students, student_id

delete_student(students,"student3")
print(students)
Однако, к сожалению, это не то, чего я хочу... мне нужна функция, которая может удалять студента, где параметр имеет значение, например, скажем, имя студента.
я пытаюсь позаботиться об этой функции:

Код: Выделить всё

def delete_by_value(d, value):
keys_to_delete = [k for k, v in d.items() if v == value]
for k in keys_to_delete:
del d[k]
delete_by_value(studemnts, Steve)
print(students)
Однако есть ли способ преобразовать функцию delete_student для удаления элемента по значению без использования цикла for in?
Можно ли создать что-то таким образом =

Код: Выделить всё

def delete_student(students,value):
del students.values()
return students
delete_student(students,Steve)
Я хотел бы использовать эту функцию, но не знаю, как это сделать.
Я попробовал внедрить несколько методов, включая элементы, но результатом было только сообщение:Синтаксическая ошибка: невозможно удалить вызов функции
и тому подобное или просто ничего.
пожалуйста, какой-нибудь совет?

Подробнее здесь: https://stackoverflow.com/questions/790 ... value-is-a

Вернуться в «Python»