Информация об изменениях

Сообщение Re: [Python] dict find от 15.01.2015 5:54

Изменено 15.01.2015 5:56 savitar

Здравствуйте, IROV.., Вы писали:

IRO>Часто вижу такой код и сам грешу, да и вообще говорят что это ок!

IRO>
IRO>if 'hello' in d:
IRO>    print d['hello']
IRO>


IRO>Что смущает, два раза идет поиск по ключу сначала в "находиться" а другой раз в "дай"


IRO>Да поиск по хеш таблице идет довольно быстро, но все же почему не хранить "последний" проверяемый индекс в таблице и сначала проверить на него, я думаю это должно сэкономить время(проверять только на is то есть указатели)


IRO>что я упустил?


Может dict.get()?
v = d.get()
if v is not None:
    print v
Re: [Python] dict find
Здравствуйте, IROV.., Вы писали:

IRO>Часто вижу такой код и сам грешу, да и вообще говорят что это ок!

IRO>
IRO>if 'hello' in d:
IRO>    print d['hello']
IRO>


IRO>Что смущает, два раза идет поиск по ключу сначала в "находиться" а другой раз в "дай"


IRO>Да поиск по хеш таблице идет довольно быстро, но все же почему не хранить "последний" проверяемый индекс в таблице и сначала проверить на него, я думаю это должно сэкономить время(проверять только на is то есть указатели)


IRO>что я упустил?


Может dict.get()?
v = d.get('hello')
if v is not None:
    print v