Встроенные коллекции и модуль collections

  Рет қаралды 19,253

Computer Science Center

Computer Science Center

8 жыл бұрын

compscicenter.ru/
И снова встроенные коллекции: кортеж, список, множество, словарь -- обход в глубину, обзор методов, примеры. Почти всё про модуль collections: именованные кортежи, счётчики, defaultdict, OrderedDict.
Лекция №5 в курсе "Python" (осень 2015).
Преподаватель курса: Сергей Лебедев
Страница лекции на сайте CS центра: goo.gl/To8pCC

Пікірлер: 14
@AndreyZloy
@AndreyZloy 3 жыл бұрын
29:33 "Без nonlocal эта штука работать не будет" - на самом деле без global эта штука работать не будет. Ведь xs это глобальная переменная, а не переменная в окружающей функции
@amigo4884
@amigo4884 2 жыл бұрын
Было круто, спасибо!
@victorklimov5254
@victorklimov5254 8 жыл бұрын
Про namedtuple Вы сказали, что _replace() создает новый именованный кортеж, но id() по кортежу до реплэйс и после выдает одно и то же число.
@slebedev
@slebedev 8 жыл бұрын
+Виктор Климов возможно, новый кортеж был аллоцирован ровно на месте старого. namedtuple, как и tuple, неизменяемый, поэтому у _replace нет других вариантов, кроме как создать новый объект. >>> Foo = namedtuple("Foo", "x") >>> a = Foo(42) >>> b = a._replace(x=24) >>> id(a) 4324904008 >>> id(b) 4324903112
@donfedor007
@donfedor007 3 жыл бұрын
Можете пояснить, "sales = defaultdict(lambda: defaultdict(int))" не могу разобраться, что тут происходит
@ainabcenikita5891
@ainabcenikita5891 7 жыл бұрын
Вы сказали, что вместо большого кортежа нужно использовать список 18:00 . Но ведь если мы хотим определить какой-то постоянный набор значений, записываем его в кортеж и всё что мы будем с этим кортежем делать, так это обращаться к его элементам. Разве работа с кортежами не быстрее, чем со списками? Кроме того такой кортеж будет потреблять меньше памяти, нежели список. Разве не целесообразней в данной ситуации выбрать кортеж?
@slebedev
@slebedev 7 жыл бұрын
Суть ремарки в лекции в том, что выбор между кортежем и списком зависит от природы данных, которые вам нужно хранить. Я не думаю, что случайный доступ к элементу кортежа быстрее, чем к элементу списка. Что касается памяти, то список действительно может занимать больше (в зависимости от того, как вы будут его строить), но, мне кажется, на практике это чаще всего не значимо.
@ainabcenikita5891
@ainabcenikita5891 7 жыл бұрын
Sergei Lebedev большое спасибо, Сергей за отличные лекции и за Ваш ответ
@maksymholota2983
@maksymholota2983 3 жыл бұрын
41:05 что значит "...работал за линию..."??
@SergeySkyMakarov
@SergeySkyMakarov 3 жыл бұрын
За линейное время, т.е. O(n)
@NMelis
@NMelis 6 жыл бұрын
Сергей Брин не ты ли это?
@GordonShumway
@GordonShumway 8 жыл бұрын
По поводу 5:30, там (None, 2, None) лишнее, попробовал в консоли, вышло так: >>> NAME, BIRTHDAY = slice(2), slice(2, None) >>> NAME slice(None, 2, None) >>> BIRTHDAY slice(2, None, None)
@igorceapa3816
@igorceapa3816 3 жыл бұрын
print(reversed(range(10+1))) -> < range_iterator object .....>
@relesgod6230
@relesgod6230 3 жыл бұрын
print(list(reversed(range(10+1))))
ISSEI funny story😂😂😂Strange World | Magic Lips💋
00:36
ISSEI / いっせい
Рет қаралды 32 МЛН
Surprise Gifts #couplegoals
00:21
Jay & Sharon
Рет қаралды 22 МЛН
Модули, пакеты и система импорта
1:47:40
Computer Science Center
Рет қаралды 13 М.
Строки, байты, файлы и ввод/вывод
1:12:20
Computer Science Center
Рет қаралды 21 М.
Разбираем основы Kafka и RabbitMQ
26:54
Digital train | Alex Babin
Рет қаралды 6 М.
Классы 1
1:24:48
Computer Science Center
Рет қаралды 29 М.
Многопоточность и GIL
1:21:47
Computer Science Center
Рет қаралды 34 М.
Итераторы, генераторы и модуль itertools
1:36:25
Computer Science Center
Рет қаралды 20 М.
Всё, что вы хотели знать о функциях в Python
1:24:51
Computer Science Center
Рет қаралды 72 М.
ISSEI funny story😂😂😂Strange World | Magic Lips💋
00:36
ISSEI / いっせい
Рет қаралды 32 МЛН