Объекты в Python бывают изменяемые, mutable, и неизменяемые, unmutable.
Первые динамически работают с памятью, и их адрес может менятся, под вторые выделяется конкретный объем памяти и их адрес постоянен. Соответственно поэтому ключём или индексом может быть только второй тип обьектов, это кортежи, множества, строки, числа и отображения, такие объекты - hashable.
В вашем случае keys_to_delete должен был быть кортежем.