Я пока не тестировал сравнение, и мне интересно узнать стоимость метода items() (или keys() или values ()) словаря в пределах итерации. Поясню:Python dictionnary items() метод cost in iterable
У меня 2 dictionnaries (конечно, мои настоящие dicts гораздо больше):
One = {'a': 'dontmind', 'b': 'dontmind', 'c': 'whatever'}
Two = {'a': 'dontmind', 'c': 'dontmind'}
Я хочу, чтобы проверить, если все ключи «Два» находятся в «One» и будет делать это нравится:
if all([key in One.keys() for key in Two.keys()]) :
# do stuff!
Я хочу знать, если этот путь лучше, учитывая производительность:
one_keys = One.keys()
two_keys = Two.keys()
if all([key in one_keys for key in two_keys]) :
# do stuff!
в этом case, метод keys() вызывается только один раз для каждого dict. Я действительно не знаю о базовом процессе извлечения ключей из dict, и является ли разница между этими двумя способами действительно значимой. Вы можете мне помочь?
Кроме того, следует ли мне так подумать?
one_keys = One.keys()
two_keys = Two.keys()
for key in two_keys :
if key not in one_keys :
break
else :
# do stuff!
Благодарим за ответы.
Какую версию Python вы используете? –
Я использую python 2.7 –