Как удалить из словаря ключ и значение по указанному ключу?

Есть словарь.

shelf = {
 '1': ['3'],
 '2': []

}

Ввожу номер строки, которую хочу удалить, например, 2. Если в ней значение пустое то удаляю.

Понимаю как циклом пройтись по всем ключам и удалить с пустыми значениями, а с этим примером завис.

dic = {key: value for key, value in shelf.items() if value != []}

Так сделал по всем строкам. Хочу понять как это делать по конкретному ключу введенному в input.


Ответы (1 шт):

Автор решения: CrazyElf

Вот так:

n = input()
if n in shelf and not shelf[n]:
    del shelf[n]
  1. n in shelf - проверяем, что ключ есть в словаре
  2. not shelf[n] - проверяем, что значение по этому ключу - пустой список
  3. del shelf[n] - удаляем из словаря пару ключ/значение по ключу
→ Ссылка