Список и кортеж

Поделиться
HTML-код
  • Опубликовано: 31 май 2023
  • В первый день лета хочу немного затронуть особенности списков и кортежей: что хочет слышать работодатель, как хранятся в памяти, почему кортеж реально неизменяемый.
    #list - список, изменяемый упорядоченный, обычно хранит значения одного типа, О(1) доступ к элементу
    #tuple - кортеж, неизменяемый упорядоченный, обычно хранит значения разных типов, О(1) доступ к элементу
    используй кортежи везде, где это возможно и обоснованно
    1) используй [] для создания пустого списка ({} для словаря)
    2) если заранее известен размер, то не используй append (для 8000 добавлений выделяется 8600 ячеек памяти)
    3) используй листкомпс
    4) не пытайся заменять список кортежом, там где идет изменение размера
    Читать:
    "High Performance Python" by Micha Gorelick and Ian Ozsvald
    "Fluent Python" by Luciano Ramalho
    Присоединяйтесь к помощи каналу, будет интересно)
    ✔️Бусти boosty.to/python_russian/donate
    ✔️Юмани 410011506612886
    Будь первым везде и всегда, включай уведомления о новых выпусках 🔔
    #Python #PythonRussian #PyCharm

Комментарии • 53

  • @radunov.a
    @radunov.a Месяц назад +1

    Спасибо тебе, вроде как и понятно, но не помешает понять почему это так. Обычно про внутреннюю реализацию никто не говорит особо, а ведь это важно

  • @kohakovich
    @kohakovich Год назад +10

    Честь и хвала !!!

  • @andrewdabarow9822
    @andrewdabarow9822 Год назад +8

    Огромное спасибо за видео, очень много полезной информации. Хотелось бы еще больше видео по структурам данных, например про древья, и хэшмапы.

    • @PythonRussian
      @PythonRussian  Год назад +6

      ну если хочется, то могу попробовать продолжить и рассказать про словари + множества.

  • @Guerrero_Blanco
    @Guerrero_Blanco Год назад +2

    Твой контент один из лучших на ютубе из категории python обучения
    довольно понятно и точно объясняешь.
    желаю успехов в развитии твоего канала
    🇷🇺🇷🇺🇷🇺

  • @user-sf6qt4iq3s
    @user-sf6qt4iq3s 11 месяцев назад +1

    Очень рада, что мне когда-то попалось ваше видео
    Теперь смотрю все подряд и все хорошо укладывается в голове
    Очень понятно все объяснено, даже мне, с небольшим опытом

  • @taniholmes6474
    @taniholmes6474 5 месяцев назад +1

    Ну какой же умничка!

  • @anatolyiredko9817
    @anatolyiredko9817 Год назад +4

    Привет! Спасибо за видео, как всегда круто и много интересных мелочей! Отдельное спасибо за классическое начало видео! Подтверждаю на Урале тепло😊

    • @PythonRussian
      @PythonRussian  Год назад +2

      будем держаться классики,😇

  • @user-it7sg6ee9f
    @user-it7sg6ee9f 4 месяца назад

    Большой молодец. В процессе прохождения курса на юдеми, остался данный вопрос не совсем понятым. В поисках дополнительных знаний обнаружил данное видео. В итоге рассказано подробнее и понятнее, чем на курсе. Красавчик!!! Однозначно лайк и подписка.

  • @davia7778
    @davia7778 11 месяцев назад +2

    Привет! Спасибо за видео! Благодаря вашим урокам мой друг смог детально изучить основы python' a!

  • @user-qz6gd6qv4p
    @user-qz6gd6qv4p 24 дня назад +1

    Спасибо!)

  • @expoliemexpoliem6246
    @expoliemexpoliem6246 2 месяца назад

    Спасибо огромное! Очень полезно и понятно

  • @user-fz9zg5gt4c
    @user-fz9zg5gt4c Год назад

    очень крутой канал помню как первый раз наткался на этот канал, сидел пересматривал почти все видео потому что очень понятно объясняешь , особенно видео правила хорошей функции

  • @vitas_shlun
    @vitas_shlun Год назад +1

    Полезность видео превышает все пределы. Интересно, спасибо за реальные примеры

  • @_radja
    @_radja 9 месяцев назад +1

    Было интересно про константное время на добавление элемента. Тоже в памяти какая-то история про амортизационный анализ, там какое-то доказательство и оттуда вытекает что это О(1). Даже проверять не стал, а оно вон оно как оказывается. Все таки время на расширение массива больше, чем ожидается, согласно той теории. Спасибо.

  • @user-os8iy9wj2s
    @user-os8iy9wj2s 11 месяцев назад

    Спасибо, приятно посмотреть и послушать!)

  • @MrPavel1207
    @MrPavel1207 24 дня назад +1

    спасибо!

  • @Vladimir-bz9tg
    @Vladimir-bz9tg Год назад

    Спасибо большое за Ваши видео

  • @aksenovsergey6205
    @aksenovsergey6205 Год назад +1

    В Сибири лето давно началось, а сейчас уже конкретное пекло - +36 в тени.

    • @PythonRussian
      @PythonRussian  Год назад

      у нас зато в июне обещают дожди и похолодание, так что следующий ролик уже в пасмурную погоду))

  • @user-qi8vf8ko6y
    @user-qi8vf8ko6y 11 месяцев назад

    ты рассказываешь интересные вещи, которые действительно важно знать! спасибо за ваш труд

  • @pinman8917
    @pinman8917 Год назад +1

    Сейчас потестил создание кортежа через конструктор с timeit, исходя из моих результатов tuple() тоже работает медленнее, чем скобки. Собственно, dis с конструктором тоже выдаёт три строки.
    А так огромное спасибо за видео, очень полезно)

  • @Asm0nd
    @Asm0nd Год назад

    Как всегда прекрасно. Спасибо!

  • @user-jb2zn9zk6o
    @user-jb2zn9zk6o Год назад +1

    Очередное отличное видео!!! Спасибо!

  • @artyomk1476
    @artyomk1476 Год назад

    Спасибо, ты как всегда топ!

  • @antonk4475
    @antonk4475 Год назад

    Отличное видео, спасибо!

  • @user-pb4tc6kx7p
    @user-pb4tc6kx7p Год назад +1

    Спасибо за видео!

  • @eugenesemin4082
    @eugenesemin4082 Год назад +1

    По камприхеншенам списков, все таки, не совсем верно в плане сбережения памяти. Они по скорости оптимизированы, а памяти созданные ими списки будут потреблять столько же, сколько и созданные через пустой список и append.
    Потому, например, заполнять список нулями через камприхеншен, если нужно создать список постоянного размера и сэкономить памяти, смысла нет.
    Тут либо буквально последовательность записывать, если она небольшая, либо через операцию повторения - например нулями можно так заполнить lst = [0] * 1000000 - либо, если уже есть готовая последовательность, передать ее в функцию list. Тогда да, получится битов отвоевать.

  • @Miron_MipoX
    @Miron_MipoX Год назад

    смотрю все твои видео. топ!

  • @moonboyforever
    @moonboyforever Год назад +1

    Ура-а-а

  • @barma1309
    @barma1309 Год назад

    О, спасибо!

  • @Miron_MipoX
    @Miron_MipoX Год назад

    С нетерпением жду мысли автора о динамических структурах данных

  • @x-user-agent
    @x-user-agent Год назад

    коротенько и посуществу 👍

    • @PythonRussian
      @PythonRussian  Год назад +1

      не умею я коротенько, постоянно ругаются)

  • @topevgn5914
    @topevgn5914 Год назад +1

    Спасибо супер полезное видео!!! Может расскажешь про асинхронность и как с этим работать?

    • @PythonRussian
      @PythonRussian  Год назад +1

      да, в скором времени будет про гил, потоки, процессы и в финале асинкио

  • @gusevsky
    @gusevsky Год назад

    Тысяча лайков))) 😀

  • @TheAcekon
    @TheAcekon 11 месяцев назад

    Можешь сделать ролик как правильно работать с файлами и переменными окружения когда ты пишешь код на Винде а сам код работает уже в юникс системах и как правильно указывать конфигурации для путей к файлам

  • @tarnavsky1
    @tarnavsky1 Год назад

    Здравствуйте! У вас есть уроки про словари в пайтоне?

    • @PythonRussian
      @PythonRussian  Год назад

      нет пока, планирую снять про словарь и сет

  • @user-bw6ix4vf4p
    @user-bw6ix4vf4p Год назад

    Здравствуйте, нет ли у Вас курса где-то на степике или еще где-нибудь? Чтобы все в одном месте, по порядку? И еще вопрос, есть ли у Вас индивидуальное обучение?

    • @PythonRussian
      @PythonRussian  Год назад

      нет курса, я все снимаю для удовольствия, обучение тоже не веду, это было бы слишком дорого.

    • @user-bw6ix4vf4p
      @user-bw6ix4vf4p Год назад

      @@PythonRussian ясно, жаль. Спасибо за ответ... А может менторство есть?

    • @PythonRussian
      @PythonRussian  Год назад

      @@user-bw6ix4vf4p тут проблема в том что мое время очень дорого стоит, потому я менторством и не занимаюсь, ребятам проще читать доку и решать задачи.

    • @user-bw6ix4vf4p
      @user-bw6ix4vf4p Год назад

      @@PythonRussian понятно.

    • @user-qz6gd6qv4p
      @user-qz6gd6qv4p 23 дня назад

      @@PythonRussian никогда не доверял курсам и подобным роликам, цель которых - заманить и развести. Но от этого автора, я наверное, даже и не стал бы думать - купил))

  • @Psoglawec
    @Psoglawec Год назад +1

    Усираются доказывая изменяемость кортежа в основном те кто пришли с других языков, например с С++. Что хотт доказать хз, видимо преимущество плюсов.

  • @tolevich
    @tolevich 11 месяцев назад

    А есть книга High Performance Python на русском?

    • @PythonRussian
      @PythonRussian  11 месяцев назад

      это повод погуглить (есть) !

  • @im0767
    @im0767 Год назад

    интересно, спасибо немного режет слух листкомпс...

    • @PythonRussian
      @PythonRussian  Год назад

      а не должно резать, на западе так и называют, я это пояснял в видео про "листкомпс" и "генэксп"

    • @im0767
      @im0767 Год назад

      да, очень толковое видео. я стараюсь смотреть все ваши выпуски. качественно и понятно, спасибо