Посмотрите на мой Python сессии:Это выражение истинно в Python: {} .keys(). Insert (0, "") == None. Зачем?
>>> {}.keys().insert(0, "") == None True
но:
>>> k = {}.keys() >>> k [] >>> k.insert(0, "") >>> k ['']
Почему ??
PS. Спасибо за помощь! Python имеет очень странный дизайн - не поддерживает цепочки:
То есть корень моей проблемы ...
Python поддерживает метод цепочки * на неизменные объекты. * На изменяемых объектов, как списки, это создало бы путаницу, был ли новый объект возвращается или существующий один из них мутировали. Тот факт, что такие методы на изменяемых объектах возвращают 'None', сразу позволяет вам знать, что существующий объект мутировался, и если ваше предположение в противном случае, вы обнаружите очень быстро, когда вы запускаете код, а не когда вам нужно отслеживать вниз из-за сложных ошибок, возникающих из-за вашего ложного предположения. – kindall
@kindall. спасибо за объяснение, потому что я начинаю думать, почему Python не обеспечивает цепочку ... +1 – gavenkoa