Собеседование python разработчк Артем Меньшиков (Северодвинск)

Поделиться
HTML-код
  • Опубликовано: 20 сен 2024
  • t.me/RUclipsPr...
    Чат для общения pyhton разработчиков и им сочуствующих. Свободное общение, тестовые и вопросы с собесов и прочее. Заходите, там вам рады.
    www.tinkoff.ru... начинаю сбор на книжку с крабом
    Если Тиньков не даёт перечислить, стукните в личку телеги andpronin, придумаем что нибудь
    Мой канал про обучению python с нуля и до мидла Андрей+=Пронин
    / @pypronin
    Я в других сетях
    🔗Вконтакте: CaptPronin
    🔗Дзен: zen.yandex.ru/...
    #python #питон #программирование #Андрей_Пронин #собеседование #

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

  • @cutealister9736
    @cutealister9736 Год назад +200

    Андрей настолько преисполнился, что собеседует самого себя

    • @bvanbanan
      @bvanbanan 8 месяцев назад

      😂приквел к Терминатору

  • @amalshakov
    @amalshakov 11 месяцев назад +95

    Найти себя в прошлом и.... устроить себе собес, очень профессионально. 😊

    • @AndyPronin
      @AndyPronin  11 месяцев назад +9

      Приключение на полчаса

  • @dmitrikolesnikov9762
    @dmitrikolesnikov9762 4 месяца назад +2

    lst = [4, 90, 0, 123, 64, 0, 44, 5]
    print(*list(filter(lambda x: x, lst)) + [0] * lst.count(0))

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

    Встретились как-то Андрей и андрей

  • @BRED_Sosed2024
    @BRED_Sosed2024 Год назад +3

    Благодарю , классно!😇
    Вопросики может будут в тему:
    1) про ListComprehansion,
    2) про сеттеры интересно послушать.

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

      учту. задав каком нибудь из собесов.) Спасибо

  • @dimkas4284
    @dimkas4284 Год назад +7

    идеальнее решения не найдёте)
    O(n) по времени
    O(1) по памяти
    с сохранением порядка элементов и переносом нулей в конец
    def moveZeroes(nums):
    idx = 0
    zero = None
    while idx < len(nums):
    if nums[idx] == 0 and zero is None:
    zero = idx
    idx += 1
    continue
    if nums[idx] != 0 and zero is not None:
    nums[idx], nums[zero] = nums[zero], nums[idx]
    zero = zero + 1
    idx += 1
    return nums

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

      Не понял, есть варик о(1) сделать?

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

      Нормас. да

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

      @@Chel1k7 по памяти да, по времени нет

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

      @@dimkas4284 понял, спасибо

    • @йцукегн123
      @йцукегн123 Год назад

      def zero_to_end(collections):
      end = len(collections) - 1
      for i in range(len(collections)):
      if i == end:
      break
      if collections[i] == 0:
      collections[i], collections[end] = collections[end], collections[i]
      end -= 1
      return collections

  • @technocoh
    @technocoh 10 месяцев назад +2

    Хорошее интервью, парень понравился, его ход мысли, решения :)

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

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

  • @ПавелБлагарь-о1ъ
    @ПавелБлагарь-о1ъ Год назад +6

    zeros = lambda lst: list(filter(lambda x: bool(x), lst))+[0]*lst.count(0)

  • @galogramma8461
    @galogramma8461 Год назад +19

    Расшаривай экранчик звучит как снимай штанишки))

  • @kaluginpeter
    @kaluginpeter 8 месяцев назад +1

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

    • @podjigalgoroda6523
      @podjigalgoroda6523 6 месяцев назад

      она относится к изи сложности

  • @eaf2k
    @eaf2k 9 месяцев назад +4

    Сюр какой-то...
    - Ну а сложность сортировки какая в Питоне?
    - Скорее всего Nlog(N)
    - Ну это же лучше, чем просто N?
    - Безусловно

  • @ПетяПетечкин
    @ПетяПетечкин 7 месяцев назад +1

    Неплохо так поднимается самооценку ) Учу питон первый месяц. Первое задание выполняется в 1 строку 2-мя способами. А через цикл 3 способа и все они менее громоздкие.

    • @HUNTER-WR
      @HUNTER-WR 7 месяцев назад +1

      В одну строку выполняется при декларативном стиле написания, а могут попросить любой. Знание ЯП это 10-15% от любой выбранной области, так что желаю успехов!)
      К слову, я учусь 18 месяцев и нихрена не знаю).

    • @ПетяПетечкин
      @ПетяПетечкин 7 месяцев назад

      @@HUNTER-WR Ты либо медленно учишься, либо занижаешь свои навыки, либо учишь всё в подряд, либо методика обучения крайне неэффективная. За 2 месяца человек переходит от уровня "print(1)" до уверенного использования ОПП. Далее изучаются необходимые для работы библиотеки. Месяц-два-три на библиотеку для уверенного использования. За 18 месяцев можно пройти путь от нуля до мидла.

    • @Nina-hy4ql
      @Nina-hy4ql 7 месяцев назад

      @@ПетяПетечкин Это если вы уже были знакомы с программированием до. Если это первый язык, то никак вы за 2 месяца не перейдете от принт хэлло ворлд до уверенного использования ООП. Продемонстрируйте, кстати, 3 менее громоздких способа решения через цикл

    • @HUNTER-WR
      @HUNTER-WR 7 месяцев назад

      @@ПетяПетечкин не спорю, всё так. Python лаконичен. Только сделать пару классов для SQLite (или просто классов) это одно, а вот построить даже простенькое приложение в окружении кучи других технологий, а потом понять, что всё не так, это немного другое)).
      Я же про то, что Python и пакеты - это только малая часть любой области.
      Или у тебя уже получается!? В таком случае, желаю только самосовершенствоваться, правда).

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

    Досмотрел пока до 17:30 и не понял почему это N log(N) лучше чем N? может дальше объясняется что это рофл, но пока не похоже..

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

      Да нипочему, просто интервьюер ошибся. В итоге решение с использованием sort работает медленнее, чем наивное. Единственный апгрейд для наивного решения - переделать на вариант с O(1) по памяти вместо O(n). По времени быстрее O(n) не получится.

  • @IgorKashin
    @IgorKashin 9 месяцев назад +6

    Слушайте, я не знаток питона, но почему в собеседованиях так абьюзят dynamic array? Ну инициализируй ты его с правильной длиной сразу. Он же потом будет копироваться по мере наполнения.
    Сортировка n*log(n) лучше чем n? Это троллинг кандидата или мне пора уходить из профессии?

    • @pollworld9084
      @pollworld9084 5 месяцев назад

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

    • @yuriyl1747
      @yuriyl1747 9 дней назад

      я тоже удивился. Мне показалось что сказали log(n). Ну да, log(n) быстрее n, но в питоне натюненая сортировка Тима и она nlog(n) и это медленне чем n

  • @qqqwww8498
    @qqqwww8498 9 месяцев назад +3

    Пройтись по списку, посчитать нули, потом их удалить и в конце добавить столько, сколько насчитали

    • @ache070707
      @ache070707 6 дней назад

      что за извращения

  • @7IdE
    @7IdE 11 месяцев назад +7

    Ну, в целом, норм, наверно.
    Из плюсов:
    1. В целом, чувствуется, что код он пишет далеко не в первый раз - и несколько строк сразу закомметил, и удалил строку с клавиатуры, и пеп8 соблюдает, и синтаксические ошибки не делает, и печатает достаточно уверенно и быстро. Да, в этом ничего сложного. Но когда человек делает это на автомате - это для меня как триггер о том, что человек не просто копипастит код.
    2. Вспомнил, что метод .sort() ничего не возвращает и заменил его на sorted() - это прям найс.
    3. Мало того, что вспомнил про параметр key у сортировки, так еще и правильную лямбду написал - это еще раз найс.
    Из минусов:
    1. Распаковка? Зачем? Просто чтобы показать, что ты ее знаешь? Это прям слегка испортило предыдущее впечатление. Особенно когда был тест с пустым массивом и он сказал, мол, ничего не вывело, но этот кейс можно отдельно рассмотреть и вернуть пустой массив. И с чего бы вдруг распаковка пустого массива не вывела в консоль ничего, кроме пустой строки?
    2. Вопрос "но nlogn же лучше, чем просто n?" ответ "да, конечно". Правильный ответ: "нет, конечно".
    3. Также меня крайне колебнули вопросы вида "целые числа?" и "отрицательные могут быть?". Собсно, а какая разница, если нужно отсеивать конкретное значение?
    4. Тоже звоночек был, когда он начал рассуждать, как можно "ускорить" решение за О(n) в данном случае. И звоночек был в момент, когда я понял, что он не озвучит мысль вида "чтобы узнать, остались ли в массиве нули - нужно пройти весь массив до конца, а это О(n)".
    5. Вообще полный игнор потребляемой памяти.
    6. Алгоритмическая подготовка у него явно отсутствует. Плохо ли это? Я бы сказал, что да - он не понимает цену своего кода. Да, далеко не часто можно встретить обработку больших данных на голом Питоне, но все же. Чтобы начать писать сложный код, нужно понимать, как сам Питон под капотом работает. А алгосы это именно то, что способствует изучению подкапотни. Так что я всеми клешнями ратую за то, что их нужно затачивать.
    7. Также меня крайне сильно триггернула его особенность со всем соглашаться, даже не подумав. Это и про nlogn, и в разговоре про мидлвары - просто слышит утвердительные интонации от Андрея и сразу же с ними соглашается. Я бы сказал, что это не совсем найс.
    В общем, лайв кодинг мне +- понравился, да и подумать человек может.

  • @Сергей-ф2ъ7я
    @Сергей-ф2ъ7я 9 месяцев назад

    классно справился, респект!

  • @funvideos3890
    @funvideos3890 8 месяцев назад

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

    • @Nina-hy4ql
      @Nina-hy4ql 7 месяцев назад

      Так будьте

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

    первую задачку так решил
    int_lst = [randint(0, 9) for i in range(50)]
    for i in range(int_lst.count(0)):
    int_lst.remove(0)
    int_lst.append(0)

    • @moHAXmoHAX
      @moHAXmoHAX 11 месяцев назад +1

      навел марафет =))
      num_list = [randint(0, 9) for i in range(50)]
      def num_at_the_end(res_list: list, num: int) -> list:
      new_lst = res_list[:]
      for _ in range(new_lst.count(num)):
      new_lst.remove(num)
      new_lst.append(num)
      return new_lst
      print(num_at_the_end(res_list=num_list, num=5))

    • @АльбертЛатыпов-ы2л
      @АльбертЛатыпов-ы2л 8 месяцев назад

      При таком подходе к решению, если список будет 10кк значений, выполнение будет очень длительное.

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

    первая задачка
    def asa(functio):
    for i in range(len(functio)):
    if functio[i]==0:
    del functio[i]
    functio.append(0)
    return(functio)
    print(asa([1,2,3,0,8,67,0,6,3]))

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

      del functio[i]
      functio.append(0)
      Это можно заменить на
      functio.append(functio.pop(i))

    • @maddestmonarch
      @maddestmonarch 7 месяцев назад

      А если 2-3 нуля подряд?

    • @ДарьяРешетникова-к4б
      @ДарьяРешетникова-к4б 3 месяца назад

      for i in lst:
      if i == 0:
      lst.remove(i)
      lst.append(0)
      return lst

  • @PZDC_1988
    @PZDC_1988 6 месяцев назад

    подумал что массив это массив, в прямом понимании, и стало интересно, но потом увидел список...

  • @igorz5804
    @igorz5804 11 месяцев назад +3

    Пара вопросов:
    1. За последние N лет сложилось впечатление, чтоб основная ниша python'а на рынке - это ML/Data (Numpy/Scipy/Pandas), Web - Django, devops-задачи.
    Т.е. вот не понравился тебе ML и ты выучил только Django - выходишь специалистом довольно узкого профиля. Как думаете?
    2. Почему-бы, даже джунов, не поспрашивать про, например: gil, gc и тд? Разве не интересно посмотреть на сколько вглубь копает человек? А то так довольно простые верхнеуровневые вопросы, не считая алгоритмов, которые находятся в отдельной нише.

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

      Интересная идея. Спасибо

    • @antondopira5957
      @antondopira5957 10 месяцев назад

      мне кажется джуну о garbagge collector вообще не стоит задумываться

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

    Первое, что в голову пришло
    def remove_zero(arr) :
    zero = []
    no_zero = [num if num != 0 else zero.append(num) for num in arr]
    return no_zero + zero
    Насколько правильно?

    • @sn3232
      @sn3232 11 месяцев назад +1

      у тебя когда else выполняется возвращает None, так что список получается такой:
      [1, 2, 3, 7, 99, -10, 50, None, None, None, None, None, 0, 0, 0, 0, 0]
      (входной: [1, 0, 0, 2, 3, 0, 7, 99, -10, 0, 50, 0])

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

    17:32 А с каких пор O(n log n) лучше чем O(n)?

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

      ) хорошо, что заметили)

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

      Тоже обратил внимание. Но я понял, он оговорился и имел ввиду log n. А может и нет)

    • @AndyPronin
      @AndyPronin  11 месяцев назад +1

      @@amalshakov да. Но потом начали решать через сортировку) в целом, косяк

  • @nadyinky
    @nadyinky 11 месяцев назад +3

    Можно решить используя два указателя за t=O(n), space=O(1):
    def group_zeros(lst: list) -> list:
    left = 0
    for right in range(len(lst)):
    if lst[right] != 0:
    lst[left], lst[right] = lst[right], lst[left]
    l += 1
    return lst

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

      Возможно, лучше сделать -> None, и ничего не возвращать, список здесь меняется на месте.

    • @alexey.kondakov
      @alexey.kondakov 11 месяцев назад +4

      Что за ерунду ты написал?

    • @shadowraze6928
      @shadowraze6928 10 месяцев назад +2

      def group_zeros(arr: list[int]) -> list[int]:
      for enum, i in enumerate(arr):
      if i == 0:
      arr.append(arr.pop(enum))
      return arr

    • @Forgot-s1d
      @Forgot-s1d 8 месяцев назад

      [1, 1, 1, 0, 0, 0, 1]@@shadowraze6928

  • @mikesandera62
    @mikesandera62 10 месяцев назад +2

    1 задача. lambda array: sorted(array, key=bool, reverse=True)

  • @vitaliy3521
    @vitaliy3521 Год назад +3

    Я вот так задачку решил:
    sorted(int_lst, key=lambda x: x == 0)
    Блин потом так же решили :D

  • @ukusbobra
    @ukusbobra 11 месяцев назад +5

    Так nlogn же медленнее линии...

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

      Я тоже удивился.

  • @evtepo
    @evtepo 10 месяцев назад

    def zero_to_the_top(numbers: list):
    indx = 0
    counter = 0
    while indx < len(numbers):
    if numbers[indx] == 0:
    counter += 1
    del numbers[indx]
    continue
    indx += 1
    return numbers + [0]*counter

  • @DimosLaykos
    @DimosLaykos 3 месяца назад

    Кто шарит, так пойдет?
    from collections import Counter
    def zeros(lst):
    a = Counter(lst)
    for i in lst:
    if not i:
    lst.remove(i)
    return lst + [0]*a[0]

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

    Что за тенденция, все время давать какие-то абстрактные непродуманные задания? В итоге собеседование превращается в унылые рассуждения, а что если бы... И сидим 15 минут, фиг знает чем занимаемся. Конкретная рабочая задача должна быть на собесе или близко к тому. Нули никто не сортирует, они на этапе заполнения форм отсеиваются обычно, а вот отсортировать товар по параметрам пользователя, по артикулам или по фильтрам, вполне себе рабочая задача, и таких задач море.

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

    mylist = [-1, 1, 0, 5]
    newlist = [x for x in mylist if x!=0]
    zerolist = [x for x in mylist if x==0]
    print(newlist+zerolist)

    • @halvomez3431
      @halvomez3431 6 месяцев назад

      2 раза линейно один и тот же массив обходить? А если там миллион значений?

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

    По классике лайк от СЕООНЛИ))

  • @СтасМихолап-ш4п
    @СтасМихолап-ш4п 9 месяцев назад

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

    • @AlexandrMakarov13
      @AlexandrMakarov13 7 месяцев назад

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

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

    def zero_to_end(data: list) -> list:
    counter_of_zero = data.count(0)
    while 0 in data:
    data.remove(0)
    return data + [0] * counter_of_zero
    print(zero_to_end([0, 0, 1, 2, 3, 0, 6, 4, 0, 1, 4]))

  • @ПавелБлагарь-о1ъ

    zeros = lambda lst: sorted(lst, key=lambda x: not bool(x))

  • @Rushan_Akhmetov
    @Rushan_Akhmetov 10 месяцев назад

    Такое решение, эффективно или нет?
    def sorted_list(int_list):
    last_index = 0
    total = int_list.count(0)
    for i in range(len(int_list) - total):
    if int_list[i] == 0:
    last_index += -1
    int_list[i], int_list[last_index] = int_list[last_index], int_list[i]
    return int_list

  • @4ebybek
    @4ebybek 11 месяцев назад +1

    Удивился, когда он сказал мой город)

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

    sorted(int_lst, key=abs, reverse=True)

    • @Nina-hy4ql
      @Nina-hy4ql 7 месяцев назад

      Вы меняете порядок остальных элементов. По условию задачи не нулевые элементы должны сохранять свою последовательность

  • @ОлегШколяренко-б5э
    @ОлегШколяренко-б5э 11 месяцев назад +1

    А вы занимаетесь менторством?

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

      Читаю лекции в Практикуме и рашу свою команду. Просто менторстово не практикую. Но могу попробовать подыскатт

  • @ВалерийМакаров-ц8ж
    @ВалерийМакаров-ц8ж 8 месяцев назад

    не понял шутку про аркадиевица

  • @АнтонСоловьёв-м5н
    @АнтонСоловьёв-м5н 7 месяцев назад

    def fr(n):
    for i in range(n.count(0)):
    n = n[:n.index(0)] + n[(n.index(0) + 1):] + [0]
    return n
    def rv(n):
    if n.count(0) == 0:
    return n
    return rv(n[:n.index(0)]) + rv(n[(n.index(0) + 1):]) + [0]

  • @ЕвгенийИзотов-н7п
    @ЕвгенийИзотов-н7п 9 месяцев назад +1

    третий ролик из трех. Где человека представлояют, как человека с высоким скилом. А по уровню знания и мышлению, дай бог до уровня jun - еле дотягивает. Я по себе сужу, я то думал, я ничего не знаю, но вот эти "спецы" пробивают моё дно.

  • @ПавелБлагарь-о1ъ
    @ПавелБлагарь-о1ъ Год назад +1

    Почему не count(0) и extend([0]*x) ?

    • @halvomez3431
      @halvomez3431 6 месяцев назад

      их надо не только добавить в конец, но и перенести

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

    Он же это не написал

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

    Ув. Андрей, посоветуйте на свой взгляд, достойный онлайн ресурс для изучения Python. Заранее благодарю!

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

      От целей зависит. Зачем нужен питон?

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

      @@AndyPronin учу язык с нуля... сейчас прохожу обучение в одной онлайн школе, но понимаю, что подача материала, явно на самом низком уровне, хотя денег стоит, как крыло от самолёта...

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

      ​@@AndyProninхотелось бы если платить деньги, то получить реальные знания и навыки

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

      @@gulfstream3963 а что за школа?

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

      @@gulfstream3963 нужны пет проекты

  • @FedorSidorenko
    @FedorSidorenko 10 месяцев назад

    def sort_data(*args):
    zero_list = []
    data_list= []
    for item in args:
    if item == 0:
    zero_list.append(item)
    else:
    data_list.append(item)
    return data_list + zero_list

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

    Когда уже будем Лутца читать?:(

  • @neven3304
    @neven3304 7 месяцев назад

    Что за смех? Почему всех устроил обход первой задачки за n log n с использованием доп памяти? Почему n log n лучше чем O n? Зачем с такими серьезными лицами рассказывать такую чепуху, при этом выкладывая это как обучающее видео?

  • @искандерфайзуллоев-ф4я
    @искандерфайзуллоев-ф4я 10 месяцев назад

    это собес на джуна?

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

    sorted(numbers, reverse = True)

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

    Ваш брат?😂

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

    a = [0,1,0,-3,-5,0,2,14,5235,0,0,3,5,0] # For Example
    b = []
    r = 0
    for i in range(len(a)):
    if a[i] > 0 or a[i] < 0:
    b.insert(i-r,a[i])
    elif a[i] == 0:
    b.append(0)
    r += 1
    x = True
    while x:
    q = 0
    for i in range(1,len(b)):
    if b[i] == 0:
    break
    elif b[i-1] > b[i]:
    b[i-1], b[i] = b[i], b[i-1]
    q += 1

    if q == 0:
    x = False
    RESULT: b = [-5, -3, 1, 2, 3, 5, 14, 5235, 0, 0, 0, 0, 0, 0]

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

      a = [0,1,0,-3,-5,0,2,14,5235,0,0,3,5,0]
      a = sorted([i for i in a if bool(i) == True]) +[0]*a.count(0)
      RESULT: a = [-5, -3, 1, 2, 3, 5, 14, 5235, 0, 0, 0, 0, 0, 0]

  • @virus8727
    @virus8727 10 месяцев назад +1

    знаний за 3 недели самообучения питону хватило только на )))
    c = [1,0,3,10,-1,5,0]
    counter_zerro = 0
    new_list = []
    index = 0
    while index < len(c):
    if c[index] == 0:
    counter_zerro +=1
    if c[index] != 0:
    new_list.append(c[index])
    index +=1
    new_list.extend([0] * counter_zerro)
    print(new_list)

  • @ДмитрийНевский-к7л
    @ДмитрийНевский-к7л 11 месяцев назад

    def conter(lst):
    zores = []
    res = list(filter(lambda x: x if x > 0 else zores.append(x), lst))
    res.extend(zores)
    return res

  • @ВиталькаМакаров
    @ВиталькаМакаров 10 месяцев назад

    def func(listok: list) -> list:
    x = []
    for i in listok:
    if i == 0:
    listok.remove(i)
    x.append(i)
    listok.extend(x)
    return listok

    • @ВиталькаМакаров
      @ВиталькаМакаров 10 месяцев назад

      def func2(listok: list) -> list:
      listok.sort(reverse=True)
      return listok

    • @ДенисМедведев-о7д
      @ДенисМедведев-о7д 8 месяцев назад

      @@ВиталькаМакаров Нет. Порядок элементов нарушится. Не надо тут ничего сортировать.