У меня немного болит голова с этим кодом Python.
print "length:", len(pub) # length: 420
pub_dict = dict((p.key, p) for p in pub)
print "dict:", len(pub_dict) # length: 163
Если я правильно понимаю, я получаю словарь, содержащий атрибут p.key
в качестве ключа и объект p
в качестве значения для каждогоэлемент pub
.Есть ли какой-нибудь побочный эффект Я не вижу?Потому что len(pub_dict)
должно быть таким же, как len(pub)
, и, конечно, его здесь нет, или я ошибаюсь?