В каком случае я бы использовал кортеж в качестве словарного ключа? - PullRequest
58 голосов
/ 21 декабря 2009

Я изучал разницу между списками и кортежами (в Python). Очевидным является то, что кортежи являются неизменяемыми (значения не могут быть изменены после первоначального назначения), а списки являются изменяемыми.

Предложение в статье меня достало:

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

Мне трудно думать о ситуации, когда я хотел бы использовать кортеж в качестве словарного ключа. Можете ли вы привести пример проблемы, где это было бы естественное, эффективное, элегантное или очевидное решение?

Изменить:

Спасибо за ваши примеры. Насколько я понимаю, очень важным приложением является кэширование значений функций.

Ответы [ 11 ]

1 голос
/ 21 декабря 2009
a[("John", "Doe")] = "123 Fake Street"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...