2014-02-05 2 views
2

Почему мы можем добавлять новые элементы в словарь непосредственно назначая пару ключ-значение, но не делать те же списки: -Присвоение значений несуществующего ключей/индексов в питона словарей/списков

Например :

dictl = {} 
dictl['new_key'] = value 
print dictl # prints {'new_key: value} 

Но

listl = [] 
listl[0] = value # IndexError: list assignment index out of range 

ответ

2
  1. Они имеют различные внутренние представления и случаи использования.

  2. Расширение списка не является тривиальной операцией, и поэтому не должно быть сделано тривиально, неявно.

  3. Что вы поместите в неиспользованные индексы в расширенном списке?

  4. Словарь не страдает от этого, так как добавление нового ключа/значения пара не имеет других побочных эффектов.

Смежные вопросы