Удаляем дубликаты по питоновски (сохраняя последовательность) | Однострочник Пайтон

Поділитися
Вставка
  • Опубліковано 15 жов 2023
  • Как удалить дубликаты в списке, сохранив последовательность
    Два способа и один очень пайтоновский, т.е инлайнер, код в одну строку

КОМЕНТАРІ • 238

  • @MassEffecn
    @MassEffecn 7 місяців тому +93

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

    • @PythonGuru_
      @PythonGuru_  7 місяців тому +16

      чего я все время замеряю )
      давайте код и замеры )
      В данном случае я не замерял, что под капотом - не обязательно, что перебор. Возможно какая-то более разумная реализация. сокращающая кол-во иттераций.
      Потом, это возможно си реализация, которая может быть на порядок быстрее, чем мы циклом побежим пайтоном.
      Куча Но.
      Еще раз, я лично не замерял, утверждать ничего не могу, но реально любопытно, если вы замерите и поделитесь
      Может оказаться, что вы и не правы )
      И да, я это предложил как вариант, а не единственно правильное решение

    • @MassEffecn
      @MassEffecn 7 місяців тому +8

      @@PythonGuru_ да даже без замеров видно что тут при вызове создается 2 лишних коллекции, причем вы сами их и упоминаете. когда это массив с большим набором данных, условный курс валюты за несколько лет, то это съест очень много ресурсов. в идеале тут вообще бы без доп памяти реализация должна быть, это при условии что мы не работаем с иммутабельными данными

    • @PythonGuru_
      @PythonGuru_  7 місяців тому

      я ж не спорю, просто интересно замеры увидеть. Чисто любопытно

    • @MassEffecn
      @MassEffecn 7 місяців тому +1

      @@PythonGuru_ в принципе код у вас есть во всех вариациях, можете провести исследование и выложить еще одно видео с результатами)
      memory_profiler вроде как позволяет удобно делать замеры)
      Только нужно генерировать данные на 1000+ элементов, иначе разница может быть в райне погрешности

    • @PythonGuru_
      @PythonGuru_  7 місяців тому +1

      мемори профайлер не особо точный, на 1000 точно не увидим ) Лень, так хотелось чтобы кто-нибудь, а я с умным видом поумничал в комментах)

  • @user-dq7jw3du1z
    @user-dq7jw3du1z 7 місяців тому +182

    Я не воспринимаю гайды без мата.

  • @banderamobilb
    @banderamobilb 7 місяців тому +99

    А где начальное "БЛЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯДЬ!"

    • @PythonGuru_
      @PythonGuru_  7 місяців тому +3

      ?

    • @user-qk9rs1dc3n
      @user-qk9rs1dc3n 7 місяців тому +16

      Это же другой канал)) но всегда угараю с этих видосов, которые начинаются со слова на букву б. Держу в курсе!

    • @Arturich777
      @Arturich777 6 місяців тому +1

      ​@@PythonGuru_есть канал тоже про яп, и он там эмоционально с матом рассказывает))

    • @xxanixx3567
      @xxanixx3567 6 місяців тому +1

      отсылка на канал python is trash вроде, не помню название, он преподносит гайды по разным языкам программирования в шуточном формате и с очень громким микрофоном, это делает ещё смешнее@@PythonGuru_

  • @Bagetk
    @Bagetk 6 місяців тому +28

    А как же бим бим бам бам😭😭😭?

    • @PythonGuru_
      @PythonGuru_  6 місяців тому

      это который?

    • @kak7
      @kak7 5 місяців тому +1

      я тоже думаю это как гайд по python, и никто на меня не кричит😢

  • @GuyWhoAsked2
    @GuyWhoAsked2 7 місяців тому +82

    Бим бим бам бам.

    • @PythonGuru_
      @PythonGuru_  7 місяців тому +3

      👀

    • @abobass2
      @abobass2 6 місяців тому

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

  • @legomindshtorms6588
    @legomindshtorms6588 8 місяців тому +18

    Я уже приготовился к: списки в Пайтон это изи!
    Убавил звук)

  • @karington1168
    @karington1168 6 місяців тому +18

    Так вот откуда эти гениальные решения, которые потом через год сидишь, и думаешь, нахуя козе баян

    • @PythonGuru_
      @PythonGuru_  6 місяців тому

      👀

    • @ultracolor
      @ultracolor 6 місяців тому +2

      Обычно через год сидишь и думаешь "Какой кретин это написал?! А, бл**, это же я"

  • @user-cc4gn5rh6f
    @user-cc4gn5rh6f 8 місяців тому +39

    Было бы классно, если ещё в видео рассказывали про ассимптотическую сложность по времени и по памяти

    • @PythonGuru_
      @PythonGuru_  8 місяців тому +5

      Для шорта это уже перебор будет, там ограничение минута

    • @gleb2971
      @gleb2971 7 місяців тому +3

      ​@@PythonGuru_не уверен, было похоже на рофл.

  • @user-yf6pd2oy7n
    @user-yf6pd2oy7n 6 місяців тому

    Какой спокойный и умный автор, пойду посмотрю другие ролики, и маме покажу!

  • @PointWand
    @PointWand 6 місяців тому +3

    1. Нет гарантии, что пары ключей будут иметь тот же порядок, что и исходные данные. Будет верно для малых количеств, но если более порога сегментирования, очередность не гарантируется.
    2. dictionary на основе бинарного дерева, т.е. сложность O(N*log(N)), значит можно найти быстрее способ.
    3. Используется промежуточный контейнер для заполнения результирующего списка.
    Понимаю, что это питон, лучше обрабатывать пакетами. На плюсах создал бы сет в стеке, в качестве проверочного, и выходной вектор. Сет в конце прибивался бы. Сложность O(n). По памяти меньше от предложенного в видео, за счет того, что не храним пару, а только значение.

    • @PythonGuru_
      @PythonGuru_  6 місяців тому

      будут иметь тот же порядок

    • @std217
      @std217 6 місяців тому +1

      @@PythonGuru_вот это аргумент, это когда объект стал гарантом последовательности ключей? Это как раз массив этим гарантом и является

    • @QwDragon
      @QwDragon 6 місяців тому

      1. Уже есть, но с какой версии - не помню. Раньше не было.
      2. Неправда, там хэштаблица и никакого логарифма.
      3. Без промежуточного контейнера лучше O(n**2) не выйдет, а приведённое решение O(n). Хотя я бы делал с сетом руками.
      4. В плюсах сет нифига не на стеке - он выделяет память в куче. И вот как раз там он на основе бинарного дерева, так что O(n*lb(n)).

    • @PointWand
      @PointWand 6 місяців тому

      @@QwDragon 2. Если хэш, смотри п.1.
      3. С промежуточным контейнером, это когда индексы массива хранятся в map
      4. В плюсах есть аллокатор, куда хочешь туда и храни. Насчет set/map да, но есть и unordered_set/unordered_map.

  • @user-pn7di5lp9v
    @user-pn7di5lp9v 7 місяців тому +3

    И получился анонимный алгоритм, который нужно интерпретировать в голове, чтобы понять что он делает. Хотя бы в функцию/метод с говорящим названием вынесли бы

    • @PythonGuru_
      @PythonGuru_  7 місяців тому

      да вроде все на ладони

  • @GorAlander
    @GorAlander 7 місяців тому +5

    А чем генератор плох? Он быстрее цикла. Простой синтаксис. Информативен.

    • @PythonGuru_
      @PythonGuru_  7 місяців тому

      никто не сказал, что генератор плох )

  • @bernardsoul8936
    @bernardsoul8936 Місяць тому

    Явное лучше неявного. А что мешает использовать генератор списоков? Ещё и работает быстрее цикла

  • @Rustam_Mukhametshin
    @Rustam_Mukhametshin 24 дні тому

    Полезнее канала не видел!

  • @attrebutton
    @attrebutton 8 місяців тому +36

    .keys() здесь не обязателен

    • @PythonGuru_
      @PythonGuru_  8 місяців тому +19

      можно, но для информативности, я и оставил чтобы явнее было, что именно делаем на каждом шаге

    • @user-pw8m9yx9w
      @user-pw8m9yx9w 7 місяців тому +4

      Необязателен, но по pep8 лучше оставить.
      "Явное лучше неявного"

    • @user-ne9kg2of1l
      @user-ne9kg2of1l 7 місяців тому +1

      Fromkeys() по идее выдает пары ключ_значение ( в данном случае значение для всех ключей будет None), а Keys() выдаст именно ключи

    • @attrebutton
      @attrebutton 7 місяців тому +2

      @@user-ne9kg2of1l да, так и будет,однако перевод в list это исправляет

    • @attrebutton
      @attrebutton 7 місяців тому

      @@user-pw8m9yx9w в этом плане согласен

  • @gyanferr7037
    @gyanferr7037 6 місяців тому +1

    Не понял, почему это преобразование списка в множество здесь боком выйдет. Даже сейчас пошел проверил, последовательность сохраняется...

    • @PythonGuru_
      @PythonGuru_  6 місяців тому

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

  • @user-fv2gd8xe1z
    @user-fv2gd8xe1z 7 місяців тому +1

    Смотрю подобные советы, всегда возникает вопрос: загрузка проца и памяти как то учитывается при программировании? В каком случае нагрузка на железо оптимально?

    • @PythonGuru_
      @PythonGuru_  7 місяців тому

      в закрепленном комменте есть инфа

  • @cyclopsletsplays
    @cyclopsletsplays 4 місяці тому

    О! В Питоне словари гарантируют порядок полей? 😲

  • @user-sw1ug3sm1q
    @user-sw1ug3sm1q 7 місяців тому +2

    Огонь! Ни чё не понял но бля пипец как интересно😂😂😂 Супер объяснение!!!

    • @PythonGuru_
      @PythonGuru_  7 місяців тому

      👍

    • @user-bh6cc6dx1u
      @user-bh6cc6dx1u 7 місяців тому +1

      Все нормально объяснил, целых 3 способа тебе назвал, решения проблемы

  • @arikennek7123
    @arikennek7123 7 місяців тому +2

    В словаре не гарантируется порядок ключей, вроде.
    seq = [seq[i] for i in range(len(seq)) if i == seq.index(seq[i])]

    • @PythonGuru_
      @PythonGuru_  7 місяців тому +2

      до 3.7 версии, после 3.7, включая, все ок

  • @vo05
    @vo05 4 місяці тому

    А что это за программа, гле сразу видно результат?

  • @______________9358
    @______________9358 3 місяці тому

    А на питоне нет linkedhashset как в джава?

  • @user-io2kp7jm6z
    @user-io2kp7jm6z 5 місяців тому

    Разве ключи в словаре сохраняют порядок?

  • @yuriyfedoskin
    @yuriyfedoskin 5 місяців тому

    А чем обычный способ через цикл плох-то?

  • @Dimitrij_Palych
    @Dimitrij_Palych 5 місяців тому +1

    Блин, народ, вы автора попутали XXXDDDDDD

  • @epiccipe
    @epiccipe 6 місяців тому +2

    Одна из причин по которой меня раздражают питонщики, так это то, что они пытаются всё записать в одной строке, из-за чего читаемость кода падает

    • @PythonGuru_
      @PythonGuru_  6 місяців тому

      да нет, не соглашусь

    • @epiccipe
      @epiccipe 6 місяців тому

      @@PythonGuru_ просто на том же codewars лучшие решения задачи на python почти всегда записаны в одну строку кода

  • @Meteor8
    @Meteor8 6 місяців тому +1

    Хочется услышать покрывание матом питон от циферок и буковок но это не на этом канале ((

    • @PythonGuru_
      @PythonGuru_  6 місяців тому +1

      чем вам пайтон так не угодил?

    • @Meteor8
      @Meteor8 6 місяців тому

      @@PythonGuru_ да нет просто на одном канале смешные видео про то как чел орёт и рассказывает про Пайтон если что называется python is trash

    • @PythonGuru_
      @PythonGuru_  6 місяців тому +1

      не видел, надо будет глянуть )

    • @PythonGuru_
      @PythonGuru_  6 місяців тому +1

      что-то очень жестко…

    • @Meteor8
      @Meteor8 6 місяців тому

      @@PythonGuru_ XD

  • @stepway1126
    @stepway1126 7 місяців тому +3

    Прикольно, но мне кажется, что это намного сложнее читать, и это точно не лучше по ассимптотике

    • @PythonGuru_
      @PythonGuru_  7 місяців тому

      когда не знаешь стандартных методов, то да. А если знаешь, то нет

    • @trogdor666
      @trogdor666 7 місяців тому +2

      Закидываешь это в функцию, называешь removeDuplicates. Теперь и читать проще, и детали реализации скрыты

    • @QwDragon
      @QwDragon 6 місяців тому

      Асимптотика линейная, как и у сета. Возможно, сет эффективнее, но в случае питона, где вызов встроенного метода работает быстрее, чем такой код на питоне, уже не факт.

    • @c3equalz899
      @c3equalz899 2 місяці тому

      ​@@QwDragonвстроенное преобразование будет быстрее, так как тут обычный аналог HashSet, а в случае с со словарём LinkedHashSet там расположен под капотом.

  • @antplay6759
    @antplay6759 6 місяців тому

    Я уж приготовился слышать "БЩДЗБЗЬЗ, ПАЙТОН БЛЯТЬ", а потом понял что это другой канал

  • @Dryagin_Andry
    @Dryagin_Andry 6 місяців тому

    Если пользоваться python версии старше чем 3.8 там данные хранятся не в той же последовательности, что добавляются в словарь, и тогда этот метод не сработает, я правильно понимаю?

    • @PythonGuru_
      @PythonGuru_  6 місяців тому

      с 3.7 все хранится, как поместили

  • @UkSarmat
    @UkSarmat 7 місяців тому

    Проще говоря подключаем Словарь для того чтобы по его примеру удалить повторения букв. Сравнение и удаление. 😮 а если нет словаря? Не на что опереться?

    • @PythonGuru_
      @PythonGuru_  7 місяців тому

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

  • @Guerrero_Blanco
    @Guerrero_Blanco 5 місяців тому

    как по мне проще циклом пройти зная сколько пайтон тянет лишних переменных итп за обой

  • @light_balance
    @light_balance 3 місяці тому

    Это вообще возможно всё выучить?)

  • @zud7127
    @zud7127 7 місяців тому

    А на что направлен посыл, в экономии сточек кода или скорости его работы в конечном результате?

    • @PythonGuru_
      @PythonGuru_  7 місяців тому

      и скорость и подход

    • @Longmanrus
      @Longmanrus 6 місяців тому +1

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

  • @dexterx1686
    @dexterx1686 6 місяців тому

    Гениально 😂

  • @user-eg6vr6sq3z
    @user-eg6vr6sq3z 7 місяців тому +1

    Подскажите в какой оболочке происходит программирование?
    Только начинаю учить Питон 😊

    • @PythonGuru_
      @PythonGuru_  7 місяців тому

      Рекомендую, от слова очень
      посмотрите эти два видео, и обучение питону пойдет намного проще
      ua-cam.com/video/XGYxd2eUA9c/v-deo.htmlsi=2F47XsyqSu9MRnPg
      ua-cam.com/video/rjINFaXOmdE/v-deo.htmlsi=lXkzrl2o3_1cYOCq

    • @user-my6zq6tm2r
      @user-my6zq6tm2r 7 місяців тому

      Vim сила все остальное могила

    • @qlfy9359
      @qlfy9359 7 місяців тому +1

      Не воспринимаю видео по питону без слов : «python блять»!

    • @arikennek7123
      @arikennek7123 7 місяців тому

      ​@@user-my6zq6tm2r vim +python ☠️

    • @rebuilderowner78673
      @rebuilderowner78673 7 місяців тому

      ​@@qlfy9359бим бим бам бам

  • @RuVl_13
    @RuVl_13 2 місяці тому

    Ordered set - не, не слышали

  • @iceicebabyaf
    @iceicebabyaf 5 місяців тому

    хэш таблица в помощь сынок

  • @N5O1
    @N5O1 7 місяців тому +1

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

    • @PythonGuru_
      @PythonGuru_  7 місяців тому

      С чего это вдруг они быстрее будут работать?
      Если интересно, я закрепил коммент. Там приведен тест.

    • @N5O1
      @N5O1 7 місяців тому +1

      @@PythonGuru_ окей, согласен что, второй медленее, так как там сложность Н квадрат. но в зависимости от количества прдпологаемых записей он будет предпочтителее, так как имеет большую гибкость и читабельность.
      но если важно сохронение порядка и количество записей будет очень небольшое, то последний вариант будет предпочтителен. но только в этом случае. потому что в последнем варианте выполяется несколько операций, вместо одной set(). а случаев, когда тебе нужно получить список не изменяя порядка, на моей практике наверное ниразу не было. да так, чтобы еще и дубликатов не было.
      код пишется для программистов, а не для машины и чистота и читабельность, а главное поддерживаемость и отказоустойчивость важнее скорости исполнения

  • @user-jg7kv2mv3y
    @user-jg7kv2mv3y 7 місяців тому

    Не понял что тут "питоновского", на c# тоже самое со словарями делают, но вообще да - словарь так используют. Опять же, я не питонист, но не редко есть необходимость использовать Group()/GroupBy() (уверен, в питоне тоже такое есть), т.к. чаще всего соблюдение уникальности требуется при "собирании" объектов по одному признаку. Например, подсчёт суммы продаж из разных документов для каждой уникальной номенклатуры, реализации которых встречаются за период в БД.

  • @GolosCD1988
    @GolosCD1988 7 місяців тому +4

    Ну надо говорить, что это работает только после определенной версии питона.

    • @PythonGuru_
      @PythonGuru_  7 місяців тому

      да 5 лет как уже так

  • @user-dk1bz6uk2g
    @user-dk1bz6uk2g 7 місяців тому +2

    можно использовать класс OrderedDict

  • @DmitryPonomareF
    @DmitryPonomareF 7 місяців тому

    Очень круто, спасибо!

  • @flop2354
    @flop2354 6 місяців тому

    А что за IDE, вроде ячейки как в jupyter'е а стиль на VS Code похож. Если кто знает подскажите, пожалуйста.

    • @PythonGuru_
      @PythonGuru_  6 місяців тому

      vscode с jupyter расширением.
      откройте ipynb в vscode, если расширение не стоит, vscode предложит установить

    • @flop2354
      @flop2354 6 місяців тому +1

      @@PythonGuru_ Спасибо большое)

  • @syakoo44
    @syakoo44 6 місяців тому +1

    в JS последовательность не теряется ) [...new Set(str)] - и всё

    • @PythonGuru_
      @PythonGuru_  6 місяців тому

      со строковыми данными тоже?

    • @QwDragon
      @QwDragon 6 місяців тому

      @@PythonGuru_ с любыми.

  • @orvelroads8159
    @orvelroads8159 6 місяців тому

    Хорошо)

  • @mister_bake2743
    @mister_bake2743 7 місяців тому

    Суупер

  • @ilife633
    @ilife633 8 місяців тому

    Продолжайте

  • @ivankarmanov3845
    @ivankarmanov3845 7 місяців тому +1

    Python не гарантирует порядок элементов в словаре. Хоть реализация в cpython сохраняет порядок, полагаться на это не стоит

    • @PythonGuru_
      @PythonGuru_  7 місяців тому +2

      с 3.7 гарантирует. а это уже 5 лет как.

    • @user-jx1ec7qm8b
      @user-jx1ec7qm8b 7 місяців тому

      Ранее, до версии Python 3.6, словари в Python не гарантировали сохранение порядка. В этом случае, если было важно сохранить порядок элементов, использовался специальный тип словаря collections.OrderedDict

  • @Pivachyo
    @Pivachyo 8 місяців тому

    в какой программе вы работаете?

    • @PythonGuru_
      @PythonGuru_  8 місяців тому +1

      vscode + jupyter notebook

  • @MDunaev
    @MDunaev 7 місяців тому

    Понравилось.

  • @neon_pla5431
    @neon_pla5431 5 місяців тому

    А ГДЕ БИМ БИМ БАМ БАМ

  • @universeunity9970
    @universeunity9970 7 місяців тому

    Круто. А если нужно удалить каждое вхождение дубликата, можно это сделать без цикла?))

    • @PythonGuru_
      @PythonGuru_  7 місяців тому +1

      вопрос, что подразумевается сделать без цикла и что именно, это не то же самое что я показал?
      Дайте больше инфо, я честно, не догнал вопрос )

    • @chistyakovalexander3147
      @chistyakovalexander3147 6 місяців тому

      Можешь Counter использовать, и оставить только значения со счётчиком равным 1.

  • @justchary
    @justchary 5 місяців тому

    Может и короче, только код этот сам потом через полгода не поймёшь.

  • @nikitakiver3340
    @nikitakiver3340 6 місяців тому

    Было бы классно если бы рекомендации мне не подсовывали нахер мне не нужный питон

    • @PythonGuru_
      @PythonGuru_  6 місяців тому +1

      питон расстроился от таких речей (

  • @anzarsh
    @anzarsh 7 місяців тому

    А в словаре гарантируется порядок?

    • @PythonGuru_
      @PythonGuru_  7 місяців тому

      с версии 3.7, до этого нет. В это считай 5 лет

  • @inventor1626
    @inventor1626 6 місяців тому

    Ага только ключи словаря могут идти в рандомном порядке

    • @PythonGuru_
      @PythonGuru_  6 місяців тому

      после версии 3.7 - нет

  • @gutis_g
    @gutis_g 6 місяців тому

    А разве в множество нельзя превратить?

    • @PythonGuru_
      @PythonGuru_  6 місяців тому

      если хотим сохранить последовательность, то нет. Множества имеют сортировку согласно хэшу значений

  • @user-ue6ps6iq2o
    @user-ue6ps6iq2o 7 місяців тому

    Все просто но до него еще нужно додуматс

    • @PythonGuru_
      @PythonGuru_  7 місяців тому +3

      практика, все со временем приходит )

  • @immortalityimmortality7770
    @immortalityimmortality7770 5 місяців тому

    Seq = [i for i in seq if i not in seq]

  • @Sergey.Ts_
    @Sergey.Ts_ 7 місяців тому

    Только результат достигнут за счет аналогичных функций просто встроенных в язык....

    • @PythonGuru_
      @PythonGuru_  7 місяців тому

      как бы это основа ООП…

  • @user-qf4df9uw8m
    @user-qf4df9uw8m 6 місяців тому

    а нельзя список перевернуть, а потом использовать на нем set() и перевернуть еще раз

    • @PythonGuru_
      @PythonGuru_  6 місяців тому +1

      как то не уловил рабочей логики

    • @indawl
      @indawl 4 місяці тому

      по твоей логике вообще не надо заморачиваться и сделать в одну строку newseq = ['c','b','a']

  • @agressive_2027
    @agressive_2027 6 місяців тому

    Однострочник детектед

  • @Longmanrus
    @Longmanrus 6 місяців тому

    а LinkedHashSet нету в питоне?

    • @PythonGuru_
      @PythonGuru_  6 місяців тому

      это я понимаю в Java такое присутствует. В питоне такого нету

  • @user-ly4xh8mi9i
    @user-ly4xh8mi9i 4 місяці тому

    И сиди потом за такими умниками вдупляй чего они там насокращали...
    Имхо, код должен быть читабельный, сразу, без гениальных финтов в 1 строку которые потом глаз режут.

  • @Scorpion-fv3qq
    @Scorpion-fv3qq 7 місяців тому

    Это может попасть в собеседовании?

    • @PythonGuru_
      @PythonGuru_  7 місяців тому

      не часто, но возможно.

    • @Scorpion-fv3qq
      @Scorpion-fv3qq 7 місяців тому

      @@PythonGuru_ было бы очень круто, если появились видео с разбором заданий из собеседований

  • @user-pl1uk9ok3o
    @user-pl1uk9ok3o 3 місяці тому

    Сахарок

  • @ChieselNut
    @ChieselNut 6 місяців тому

    А где "бим бим бам бам"?

    • @PythonGuru_
      @PythonGuru_  6 місяців тому

      это о чем?

    • @ChieselNut
      @ChieselNut 6 місяців тому

      @@PythonGuru_ Извиняюсь за неполноту комментария. Просто я привык видеть шортсы от другого канала, если не ошибаюсь, тоже по пайтону. Скорее всего, говоря о матах в гайдах(в более нижнем комментарии) отсылают именно на этого ютубера. В своих видео он и, мною сказанную, фразу тоже говорит. :D

    • @PythonGuru_
      @PythonGuru_  6 місяців тому +1

      понял ) спс, за разьяснение

  • @aRivaa
    @aRivaa 7 місяців тому

    Можно вопрос 🙋🏻‍♂️
    Нах…я это все ? Чтоб код в коде удалять .. я вот никогда не понимал для чего это всё делается ? Нельзя сразу написать то, что тебе нужно ?

    • @PythonGuru_
      @PythonGuru_  7 місяців тому

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

  • @kirillberezin8859
    @kirillberezin8859 7 місяців тому +2

    лучше бы такты процессора экономили как строчки, ящеры окаянные

    • @PythonGuru_
      @PythonGuru_  7 місяців тому

      это на ассемблер надо переходить

    • @wezmix9053
      @wezmix9053 7 місяців тому

      ​@@PythonGuru_на В КРЕСТ КРЕСТ

    • @QwDragon
      @QwDragon 6 місяців тому

      Ты бы сначала асимптотику посчитал, а потом не писал бред.

  • @Sasha_-vq5ux
    @Sasha_-vq5ux 6 місяців тому

    seq = list(set(seq))

    • @PythonGuru_
      @PythonGuru_  6 місяців тому +1

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

    • @Sasha_-vq5ux
      @Sasha_-vq5ux 6 місяців тому

      @@PythonGuru_ Я тестировал, не убирает

  • @mechatorg
    @mechatorg 7 місяців тому

    Это Java?

    • @PythonGuru_
      @PythonGuru_  7 місяців тому +1

      Это питон.
      А на ум пришла фраза из песни Зверей )
      Это феррари, нет - это бентли

    • @mechatorg
      @mechatorg 7 місяців тому +1

      @@PythonGuru_ бывает 😁

    • @mechatorg
      @mechatorg 7 місяців тому

      @@PythonGuru_ спасибо за ответ

  • @hz6384
    @hz6384 6 місяців тому

    set ()

    • @PythonGuru_
      @PythonGuru_  6 місяців тому +1

      с сохранением последовательности. set убьет ее.

    • @hz6384
      @hz6384 6 місяців тому

      Не увидел про последовательность, извиняюсь.)@@PythonGuru_

  • @Kompreso
    @Kompreso 6 місяців тому

    hashset? Неееее

    • @PythonGuru_
      @PythonGuru_  6 місяців тому

      я так понимаю, это C# или Java. Не знаю как в этих языках, но set в Python имеет сортировку согласно хэшу данных, и не поддерживает сохранение последовательности внесения элемента в коллекцию

    • @QwDragon
      @QwDragon 6 місяців тому

      И каким образом HashSet сохранит порядок? В питоне он и есть.

  • @knotty4448
    @knotty4448 6 місяців тому

    new = [x for x if x not in seq]

  • @black_wolf_1s
    @black_wolf_1s 7 місяців тому

    Ничего не выйдет если у вас python 3.5.😂

    • @PythonGuru_
      @PythonGuru_  7 місяців тому

      и с 3.6 тоже, и со всеми версиями, что до 3.7

  • @user-tl2px1lg6p
    @user-tl2px1lg6p 7 місяців тому

    Найди пожалуйста , девушку для озвучки , спасибо .

    • @PythonGuru_
      @PythonGuru_  7 місяців тому +1

      зачем? )

    • @user-tl2px1lg6p
      @user-tl2px1lg6p 7 місяців тому

      @@PythonGuru_ извините конечно за вопрос на вопрос , но что вы вообще делаете ?

    • @PythonGuru_
      @PythonGuru_  6 місяців тому

      в смысле? не совсем ясен вопрос

    • @user-tl2px1lg6p
      @user-tl2px1lg6p 6 місяців тому

      @@PythonGuru_ я хочу сказать , вы делаете медиа контент , верно ?

    • @PythonGuru_
      @PythonGuru_  6 місяців тому

      когда есть время, делаю. Это больше хобби

  • @danilakrupnov6863
    @danilakrupnov6863 7 місяців тому

    Круто, конечно, но процедурно.

    • @PythonGuru_
      @PythonGuru_  7 місяців тому

      вот так

    • @dail4568
      @dail4568 7 місяців тому

      Скорее функционально. Или методично?

  • @thekulikov8971
    @thekulikov8971 6 місяців тому

    Пф, чел, ты чего?!?!
    Отсортируй массив быстрой сортировкой, а потом удаляешь элемент если он повторяет предыдущий и будет тебе счастье, сложность программы будет всего log(n) + n

    • @PythonGuru_
      @PythonGuru_  6 місяців тому

      а вы отсортируйте и замерьте скорость.

    • @QwDragon
      @QwDragon 6 місяців тому

      А как ты отсортированному массиву обратно старый порядок вернёшь? К тому же, линейный алгоритм эффективнее.

    • @thekulikov8971
      @thekulikov8971 6 місяців тому

      @@QwDragon Ну лаааадно, признаю, что забыл про часть условия

  • @tanz_9933
    @tanz_9933 7 місяців тому

    кал

    • @PythonGuru_
      @PythonGuru_  7 місяців тому

      интересный комментарий

  • @user-ft5bs1io8g
    @user-ft5bs1io8g 7 місяців тому

    Горе учитель, в словарях порядок может сломаться, тупо даже от запуска одной программы несколько раз

    • @PythonGuru_
      @PythonGuru_  7 місяців тому

      да что вы. До пайтона 3.7 - порядок не поддерживался, с 3.7 порядок не меняется.
      Что еще про меня скажете? Кроме горе учителя?

  • @andynaz7044
    @andynaz7044 7 місяців тому

    И никто никогда не объясняет, что это за dict с точкой )

    • @PythonGuru_
      @PythonGuru_  7 місяців тому

      fromkeys() - метод класса dict, который создаст и вернет нам обьект типа dict с ключами из итерируемого обьекта, который мы передали в качестве аргумента

  • @user-ir5xs8ne6l
    @user-ir5xs8ne6l 7 місяців тому

    Я занимаюсь пайтоном всего, ничего, но есть всего две комманды, которые можно написать друг ппод другом и будет и последовательность и удалённые лишние элементы. Но тут таааааак услоднили

    • @PythonGuru_
      @PythonGuru_  7 місяців тому

      наоборот, упростили

    • @QwDragon
      @QwDragon 6 місяців тому

      Но главное никому их не говорить?

  • @winbackgo
    @winbackgo 7 місяців тому

    придумываем проблемы где их не существует. нубы хавают видимо

    • @PythonGuru_
      @PythonGuru_  7 місяців тому

      где проблема?