У словарей есть ограничение на длину ключа?
Мне было интересно, имеет ли Python ограничение на длину словарного ключа.
Для пояснения я не говорю о количестве ключей, а о длине каждого отдельного ключа. Я собираюсь строить свои словари на основе динамических значений (после проверки), но я не уверен, что в этом случае я должен учитывать это.
Ответы
Ответ 1
Нет такого ограничения в отношении словарных клавиш. Поскольку python также имеет произвольную точность по числовым типам, единственным ограничением, с которым вы столкнетесь, строкой или иным образом, является доступная память. Вы можете увидеть другое сообщение здесь для обсуждения максимальной длины строки в python 2.
Ответ 2
Вот несколько примеров кода:
from string import ascii_letters
from random import choice
def make_str(length):
return "".join(choice(ascii_letters) for i in range(length))
test_dict = {make_str(10000000): i for i in range(5)}
Заключение: Python вполне удачно использует строку размером 10 миллионов символов в качестве ключа dict.
Ответ 3
Как я знаю, нет ограничений, но считаю, что больше ключа длиннее, тем больше времени на создание/доступ к клавишам