Домой

Последняя активность

  

Задача от Яндекса на Python

PyDeKolt avatar PyDeKolt (0) [#] (27.05.2013 / 17:05)
На одном из местных форумов обсуждался интересный пример на ссылки в Python, который опубликовала в отборочном задании компания Яндекс(http://company.yandex.ru/job/v ... n.xml).

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

Далее берется любой элемент списка и в него поочередно добавляются элементы, фокус состоит в том что заполняя первый элемент списка мы заполняем и другие. Вся магия естественно заключается в том что в реальности это все один и тот же элемент, являющийся списком.
  1. # создается список с 3-мя элементами, каждый элемент которого ссылается на один и тот-же пустой список
  2. x = [[]]*3
  3. x[0].append('a')
  4. x[1].append('b')
  5. x[2].append('c')
  6. print x
  7. # [['a', 'b', 'c'], ['a', 'b', 'c'], ['a', 'b', 'c']]
  8. x[0]=['d'] # теряем старую связь, теперь у нас новый элемент
  9. print x
  10. # [['d'], ['a', 'b', 'c'], ['a', 'b', 'c']]

- Ссылки в Python
* Python примеры кода
  Всего: 1

Зарегистрируйтесь и сможете комментировать все темы. Кнопочка вверху
Фильтр по автору
Скачать тему

В Форум

Новые вверху
waplog Рейтинг@Mail.ru
Statok.nettop-sid.ru
Яндекс.Метрика