Нет, словарные ключи не упорядочены.Вы не можете сказать «первые пять ключей» словаря и означать что-то четко определенное.Вы можете получить список ключей, и в этом случае они, конечно, будут упорядочены в этом списке, но это ничего не говорит о «порядке» в самом словаре.
Что вы можете сделать, так этопроверьте все ключи в списке, чтобы увидеть, является ли соответствующее значение в словаре False
:
the_dict = { "k1": True, "k2": False, "k3": False, "k4": True, "k5": False, "k6": True }
check_keys = ["k1", "k2", "k3", "k4", "k5"]
found = 0
for k in check_keys:
if k in the_dict and not the_dict[k]:
found += 1
print "Found %u False values for the checked keys" % found
Обратите внимание, что только потому, что существует порядок в парах ключ-значение в литерале словаря при инициализации the_dict
, это не значит, что порядок как-то остается в самом словаре.
Если ваши ключи сортируются, вы, конечно, можете отсортировать их вручную, а затем извлечь сначала пять:
>>> print sorted(the_dict.keys()[:5]
['k1', 'k2', 'k3', 'k4', 'k5']