salaries = {}
salaries[('John', 'Smith')] = 10000.0
salaries[('John', 'Parker')] = 99999.0
РЕДАКТИРОВАТЬ 1
Конечно, вы можете сделать salaries['John Smith'] = whatever
, но тогда вам придется проделать дополнительную работу, чтобы разделить ключ на имя и фамилию. Что касается pointColor[(x, y, z)] = "red"
, то здесь преимущество ключа кортежа более заметно.
Я должен подчеркнуть, что это не лучшая практика. Во многих случаях вам лучше создавать специальные классы для обработки подобных ситуаций, но Арриета попросила привести примеры, которые я ей (ему) дал.
РЕДАКТИРОВАТЬ 0
Кстати, каждый элемент кортежа тоже должен быть хэшируемым:
>>> d = {}
>>> t = (range(3), range(10, 13))
>>> d[t] = 11
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: list objects are unhashable
>>>