• Имя функции совпадает с именем переменной, ничего страшного не будет?

    @dmshar
    Вопрос из серии "можно-ли переходить на красный свет? Везде "запрещают" , но вот про мой перекресток, где и машин-то мало ездят и дядя Федя переходит его не глядя на светофор - не пишут. Можно и я буду там ходить на красный свет?"
    Вы садомазохист? Надеюсь что нет. Вы суперопытный программист? Скорее всего нет. Так почему у вас возникла идея отклонить советы, которые придуманы не для того, что бы вам "насолить", а наоборот, для того, что бы вам жизнь упростить?
    Надеюсь, вы знаете, что программист это не тот, кто умеет код писать, а тот кто умеет его отлаживать. 75-80% рабочего времени программиста уходят именно на отладку, а не написание кода И большинство советов и направлено на упрощение этой части работы. Отсюда - и советы про названия переменных. В некоторых языках программирования - настойчивые рекомендации (а в Python - вообще обязаловка на уровне синтаксиса) по использованию "лестничной" структуры кода и много чего еще. В принципе, вы можете все свои переменные называть a1,a2, a386,... или имена давать им, совпадающие с именами встроенных функций. Вот только когда нибудь, когда вы начнете писать не школьные задачки на 20 строк, а нормальные проекты на 10-20К строк и будете по три недели биться головой об стену и искать ошибки, а они окажутся связанными с нарушениями указанных правил - вот тогда и вопросы такие сами собой исчезнут. Говорят все учатся на ошибках, только дурни - на своих, а умные на чужих. Вот вам и дают набор рекомендаций, грубо говоря -о том, как избежать ошибок, об которые уже набивали шишки поколения ваших предшественников. А слушать эти рекомендации или размышлять о возможностях их неисполнения - дело ваше.
    Ответ написан
    Комментировать
  • Программирование и математика тесно связаны?

    @dmshar
    А откуда вы взяли список? Просто это очень малая часть того, что должны знать те, кто хотят себя называть специалистом по Data Science. Нет, конечно если под этим терминам понимать вызов методов fit() и predict() - тогда конечно, без знаний математики можно и обойтись. Это как есть фельдшер, а есть врач. Есть младший кодер, вызывающий указанную функцию, а есть тот, кто сам может подобрать метод а может - и усовершенствовать его. А кем быть - уж вам решать.
    6411ccaa240ed514912408.png
    Меня больше смущает наметившийся торг "а надо-ли учить математику или алгоритмы, а чего-нибудь кроме синтаксиса языка надо знать или так прокатит, а то я в математике не силен". Если что-то "не заходит" - то зачем себя напрягать? Есть куча профессий, где без всего этого можно обойтись. Когда найдете что-то что окажется действительно вашим - таких торгов не возникнет, а удовольствия в конечном итоге получите гораздо больше.
    Ответ написан
    2 комментария
  • Как сделать цикл?

    @dmshar
    Мне кажется, что если уж беремся отвечать на такие школьные вопросы, то надо делать это так, что-бы задающий вопрос хоть какую бы то пользу из этого извлек, а так-же, что бы другие, читая этот вопрос находили бы тут хоть что-то не элементарно-тривиальное.
    В частности, в этом вопросе первое, что бы я заметил, что ТС пишет
    3.Деление\n"

    потом под этим номером выполняет операцию
    str(num1 // num2)

    хотя в Python эта операция называется четко и неоднозначно:
    "Целочисленное деление" и никак иначе. А деление - это совсем другая операция.
    Кроме того, ТС называет
    a = str(num1 % num2)
    операцией
    f = 'деления с остатком'
    хотя в Python эта операция называется
    ОСТАТОК от деления
    . Смысл, как видно совсем другой.

    Во-вторых писать такие простыни кода и жестко "вшивать" данные в структуру операций if - это крайне неэффективная практика. А что будет если надо будет и другие операции реализовывать? Или даже просто поменять местами строчки в подсказке местами? Мало того, что придется менять данные, но еще и влазить в и изменять структуру "лесенки" условий и наверняка навносить туда ошибок.
    При этом задача решается намного проще и код становиться намного яснее:
    import operator
    def do_something(n1,n2,func):
        return(func(n1,n2))
    again='y'
    while again=='y': 
        num1 = int (input(' Введите первое число:  '))
        num2 = int (input(' Введите второе число:  '))
        dct={1:("Сложение",operator.add),
             2:("Вычитание",operator.sub),
             3:("Целочисленное деление",operator.floordiv),
             4:("Умножение",operator.mul),
             5:("Возвести в степень",operator.pow),
             6:("Остаток от деления",operator.mod)
             }
        print(" Напиши, какую операцию ты хочешь сделать?\n")
        for dc in dct:
            print(str(dc)+'.',dct[dc][0])
        v = int(input())
        if v>len(dct):
            print(" Вы выбрали не верный вариант\n")
            print(" Начнем с начала?")
        else:
            print(dct[v][0],'  :',do_something(num1,num2,dct[v][1]))
        again=input(" Продолжим? Y/N:  ").lower()


    Всего то! И никакой простыни на пол сотни строк!
    Хотите добавить еще операции? Добавляете ОДНУ строчку - один элемент в словарь dct и все остается работать. Никакого изменения кода.

    А вот протокол работы этого скрипта:
    Введите первое число:  10
     Введите второе число:  4
     Напиши, какую операцию ты хочешь сделать?
    1. Сложение
    2. Вычитание
    3. Целочисленное деление
    4. Умножение
    5. Возвести в степень
    6. Остаток от деления
    1
    Сложение   : 14
     Продолжим? Y/N:  y
     Введите первое число:  10
     Введите второе число:  4
     Напиши, какую операцию ты хочешь сделать?
    1. Сложение
    2. Вычитание
    3. Целочисленное деление
    4. Умножение
    5. Возвести в степень
    6. Остаток от деления
    2
    Вычитание   : 6
     Продолжим? Y/N:  y
     Введите первое число:  10
     Введите второе число:  4
     Напиши, какую операцию ты хочешь сделать?
    1. Сложение
    2. Вычитание
    3. Целочисленное деление
    4. Умножение
    5. Возвести в степень
    6. Остаток от деления
    3
    Целочисленное деление   : 2
     Продолжим? Y/N:  Y
     Введите первое число:  10
     Введите второе число:  4
     Напиши, какую операцию ты хочешь сделать?
    1. Сложение
    2. Вычитание
    3. Целочисленное деление
    4. Умножение
    5. Возвести в степень
    6. Остаток от деления
    4
    Умножение   : 40
     Продолжим? Y/N:  y
     Введите первое число:  10
     Введите второе число:  4
     Напиши, какую операцию ты хочешь сделать?
    1. Сложение
    2. Вычитание
    3. Целочисленное деление
    4. Умножение
    5. Возвести в степень
    6. Остаток от деления
    5
    Возвести в степень   : 10000
     Продолжим? Y/N:  y
     Введите первое число:  10
     Введите второе число:  4
     Напиши, какую операцию ты хочешь сделать?
    1. Сложение
    2. Вычитание
    3. Целочисленное деление
    4. Умножение
    5. Возвести в степень
    6. Остаток от деления
    6
    Остаток от деления   : 2
     Продолжим? Y/N:  y
     Введите первое число:  10
     Введите второе число:  4
     Напиши, какую операцию ты хочешь сделать?
    1. Сложение
    2. Вычитание
    3. Целочисленное деление
    4. Умножение
    5. Возвести в степень
    6. Остаток от деления
    7
     Вы выбрали не верный вариант
     Начнем с начала?
     Продолжим? Y/N:  n
    Ответ написан
    Комментировать
  • Как перемножить элементы строки в матрице, которые принадлежать диапазону [a,b]?

    @dmshar
    Читаем внимательно ваш код.
    vector=[]
    #Создаем ПУСТОЙ список, в котором вообще нет ни одного элемента.
    ....
    vector[i] *= a[i][j]
    # Ну предположим i=0. Но элемента vector[0] (впрочем, как и vector[1], vector[2].....) у вас нет - список, как я разъяснил выше, ведь пустой.

    Запись типа
    v*=a
    эквивалентна
    v=v*a
    . Вопрос - что-же вы желаете получить, умножая
    vector[i] = vector[i]* a[i][j]
    -- еще раз, если элементов vector[i] с любым i у вас не существует.

    Надеюсь мое подробное разъяснение поможет вам самому найти ошибки в вашем коде и получить от этого незабываемое наслаждение.
    Ответ написан
    Комментировать
  • Как встроить антивирусный движок в python?

    @dmshar
    А что значит "написать антивирус на python с графикой на pyqt5" и в него "встроить какой-нибудь антивирусный движок" Т.е. по сути вы хотите создать GUI над готовыми антивирусным движком? Тогда зачем вам "осуществлять поиск вируса", если за вас это сделает сам движок? Да и проблем с поиском сигнатур не возникнет.
    Ну а на сами вопросы - "где взять движок" и "где взять базу сигнатур" ( и кстати - как их потом ПОСТОЯННО, ежедневно обновлять) - ответ очевиден. Связываетесь с любым разработчиком антивирусов (начиная с Касперского, ESET, Dr.Web - впрочем не знаю, жив он еще, не слежу - McAfee или каким либо другим по вашему выбору) и узнаете у него на каких условиях они готовы вам передать эти свои know-how. Готовите запрошенную ими сумму денег, покупаете на официальных условиях и используете.
    Ответ написан
    2 комментария
  • Какой есть легкий IDE для Python?

    @dmshar
    Один из наиболее "легких" и одновременно мощных и удобных в работе IDE - это Spyder. Низко ресурсоемкий, работает практически везде. Хорошая система подсказок и инструментов программирования. Интуитивно абсолютно понятный. Входит в сборку Anaconda и до недавно был там основным IDE - значит никаких танцев с бубнами по установке, пару сотен пакетов с возможностью автоматизированного обновления - вам обеспечено. Совместим с pip. Активно обновляется сам.
    Ответ написан
    Комментировать
  • Как рассчитать mde и sample size?

    @dmshar
    " как называют то, что работает на основе мат закона для определенного распределения (не важно какого) и благодаря этому правилу оно может оценить различие двух распределений" - само это действие называется проверкой гипотезы об однородности. Критерием называют правило, на основании которого при этой проверке принимают решение. Критериев бывает много и всяких. Если данные подчиняются нормальному закону распределения - проверяют матожидание, средние, моменты более высоких порядков. Аналогичные критерии - есть и для других распределений (равномерного, экспоненциального). Если данные не подчиняются этим законом, или если есть подозрения что могут измениться не только параметры распределения, но и сам закон - применяют непараметрические критерии принятия решения (т.е. критерии свободные от распределений). Например - критерии Вилкоксона-Манна-Уитни, Ван-дер-Вардена, Медианный критерий, Фишера-Йэйтса, Ансари—Бредли, Клотца, и множество других). Могут еще сравниваться не указанные величины, а сами эмпирические функции распределения (Колмогорова-Смирнова, Крамера-фон Мизеса и др). А есть еще совершенно другой (информационно-энтропийный) подход на основании меры Кульбака — Лейблера. Есть методы основанные на метрическом подходе - от метрики Эвклида до метрики Васерштейна. Много чего есть еще.

    Для каждого из критериев существуют свои правила построения доверительных интервалов.
    sample size всегда, для любого критерия ищется как обратная задача - при выбранном критерии, выбранном уровне значимости находят такое значение n, которое обеспечит нужную ширину доверительного интервала. И да, от закона распределения эта величина зависит ровно настолько, насколько вы поверили, что правильно угадали этот самый закон распределения или отказались делать такое предположение вообще.
    Ответ написан
    Комментировать
  • Есть ли методичка по терминам в программировании?

    @dmshar
    Ну нате вам:
    https://tpverstak.ru/programming-terms/ - для начала.
    www.programmer.dp.ua/download/tolkoviy-slovar-po-i... - ну это уже малость посерьезнее
    Только вот зачем оно все. За свою жизнь в такие "методички" заглядывал тогда, когда делал серьезный технический перевод с английского языка. И это в ту эпоху, когда интернета не было, не то что Google или Wikipedia. А вот когда действительно программировал - то никогда.
    Ответ написан
    Комментировать
  • Какой уровень математики необходимо освоить перед изучением машинного обучения (в частности хендбук Яндекса)?

    @dmshar
    Да кто его знает, чему вас там в школе учат и чего вы уже выучили. Идете от другого - какая математика нужна для работы в DS, а уж от этого - ищите, что вам надо "добирать".

    https://habr.com/ru/post/708752/
    https://habr.com/ru/post/432670/
    https://habr.com/ru/company/sk%D1%96llbox/blog/663508/
    https://qna.habr.com/q/1256032
    https://www.datasciencecentral.com/tutorial-the-ma...
    https://www.analyticsvidhya.com/blog/2019/10/mathe...

    А вообще - даже на этом форуме таких тем было уже наверное более десятка. Просмотрите, сделайте выводы.
    Ответ написан
    Комментировать
  • Какие автоматические инструменты можно использовать для быстрой разметки набора данных для задачи распознавания лиц?

    @dmshar
    В любой задаче МL и в задачах распознавании визуальных образов в разных интерпретациях, при отсутствии размеченных данных теоретически существует два пути:
    1. Самостоятельно, вручную разметить данные. Наверняка вам известно, что ручная разметка данных - сегодня это целое направления бизнеса. И многие фирмы (особенно преуспели в этом китайцы) зарабатывают на этом миллионы. Т.е. вы им ваш набор данных, они вам - его разметку. Погуглите, найдете куда обращаться.
    2. Использовать методы кластеризации, результаты которой вам дадут перечень классов объектов (в вашем случае - уникальных участников) и разнесут ваш датасет по этим классам. Вот только сами эти алгоритмы кластеризации могут оказаться сложнее той задачи классификации, которую вы перед собой ставите. В случае объектов-лиц - на порядок сложнее. Причем качество такой кластеризации - достаточно низкое, на много ниже, чем качество ручной разметки. Что в свою очередь еще более снизит качество решения вашей основной задачи классификации объектов. Но зато - без китайцев :)
    Вот как-то так.
    А вариант решения - выбирать вам.
    Ответ написан
    Комментировать
  • Какой тип нейронной сети лучше подходит для работы с числовыми входными параметрами разной длины?

    @dmshar
    Начнем с простейшего вопроса. А как вы собираетесь определять вероятность уязвимости, если вы будете все "основывать на ответах пользователей."? Как вы себе это представляете? Но даже если теоретически представить, что вы что-то такое создадите, то она будет показывать не правильный ответ, а тот ответ, которые есть в голове вашего пользователя и который очень не факт, что соответствует реальному ответу.

    Теперь вопросы конкретные "Я столкнулся с проблемой выбора нейронной сети для работы с различным количеством входных параметров." - можно попросить вас перечислить те проблемы, с которыми вы столкнулись. Но только с конкретными. Очень даже стало интересно. Может что и посоветуем.

    числовыми входными параметрами разной длины - так вопрос в параметрах разной длинны или с разным количеством параметров? Вы уж как-то определитесь, т.к. это совершенно разные вопросы.

    Использовать фиксированный размер 10 и заполнять пустые значения нулями.
    Изменить размер до фиксированного (примерно 7), но подойдет ли это для числовых значений?
    - а почему 10, почему 7, если параметров у вас может быть до 12? Остальные будете с негодованием отбрасывать?

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

    Использование RNN, но RNN в основном используются для текста и речи, и будут ли они также работать с числами? Раскрою вам секрет. При работе с текстом и речью входные данные сначала диджитализируются, а уж потом поступают на вход нейросеть. Странно, что вы этого не понимаете, ориентируясь на keras.

    Есть ли другие варианты и какие из них были бы наиболее правильными? Наиболее правильным будет сначала открыть какую-нибудь книгу и изучить, что такое нейросеть и как она работает. Или хотя-бы нагуглить какие-нибудь статьи для новичков в интернете. На худой конец, на этом сайте набрать тег "нейросети" и посмотреть какие вопросы там задаются и как на них отвечает (последнее, конечно, так себе решение, но хоть какое-то понятие о нейросетях и работе с ними получите, а также какие книги/ресурсы по нейросетям рекомендуют, потому как переписывать это сюда в двадцать восьмой раз не хочется). А пока вопрос настолько сырой, что дать не него какой-нибудь близкий к правде жизни ответ практически невозможно.
    Ответ написан
    Комментировать
  • Почему неправильно работает код?

    @dmshar
    import re
    with open("24.txt", "r") as file:
            f = file.read()
    fmsx=0
    fs=re.split('KL|LK',f)
    for fs1 in fs:
        if fmsx<=len(fs1):
            fmsx=len(fs1)
    print(fmsx)


    Результат:

    2794

    Это "чистая" длинна. Надо длина, включая 'KL' в конце - добавляете к результату 2.
    Ответ написан
    Комментировать
  • Какой алгоритм лучше подходит для определения прибыльной сделки на бирже?

    @dmshar
    как тюнить непонятно. Поэтому вопрос к специалистам: какой алгоритм лучше использовать для моей задачи, как лучше тюнить и какие показатели Accuracy считаются хорошими?
    - Существует три основных видов ансамблирования алгоритмов ML (а именно так называется то, что вы хотите сделать) - стекинг, бэггинг, бустинг. И масса производных от них. (Правда - если вы хотите более тонко настраивать ансамбль, то в ход идут другие, более сложные методы, которые учитывают статистические характеристики, включая доверительные интервалы, ROC оценки конкретных алгоритмов и пытаются работать с ними - но это уже далеко от старта).

    Про эти простейшие способы можно прочитать и в серьезных работах, коих немало, и в статьях для начинающих, например:
    https://habr.com/ru/post/561732/
    https://alexanderdyakonov.wordpress.com/2019/04/19...
    arbir.ru/articles/a_4053.htm
    а есть книги различной степени серьезности на эту тему:
    Kunapuli Ensemble Methods for Machine Learning
    Kyriakides Hands-On Ensemble Learning with Python:...
    Semi Ensemble Methods in Data Mining: Improving Ac...
    И вообще, сегодня уже ни одна книга по МL не выходит без раздела про ансамблирование. Ну вот просто из последнего, 2022 год издания, что под рукой
    Pajankar Hands-on Machine Learning with Python: Im...
    и в ней глава "CHAPTER 10 Ensemble Learning Methods"

    По сути, сегодня все соревнующиеся на Kaggle и в M4 Competition - именно этим (построением ансамблей алгоритмов) занимаются, понимая, что объединение нескольких алгоритмов может дать несколько процентов выигрыша. Можете посмотреть несколько примеров где объединяют казалось бы необъединимые алгоритмы (например - статистическую оценку параметров с нейросетью). Но вот жестких подсказок тут никто не даст - для каждой задачи это эксперименты + знания, опыт и интуиция исследователя.

    какие показатели Accuracy считаются хорошими -
    а вот тут все намного проще. Нет понятия "хороший" или "плохой" показатель. Это не школа, где вам надо найти правильный ответ. ML вообще, и ансамблирование еще в большей мере - это процесс творческий. Какое значение получите - вот то и есть (для вас) хороший результат. Хотите больше - экспериментируйте дальше.
    Ну и замечание вдогонку. Accuracy - это не единственный показатель. Не даром напридумывали еще как минимум с полдесятка характеристик эффективности моделей ML. И часто надо искать компромисс, поскольку одни алгоритмы оказываются лучше по одним показателям, а некоторые - по другим. И вам надо найти и как-то оценить, какие именно характеристики работают в вашем случае. Так что поле для деятельности открывается достаточно широкое.
    Ответ написан
    Комментировать
  • Каков механизм распознавания объектов через графы?

    @dmshar
    Во-первых, наверное все таки не "распознавание объектов графам", а скорее всего "распознавание объектов, которые представлены графами".
    Во-вторых, на "уровне языков программирования" - такое, на сколько я знаю, не реализовано нигде. В любом случае, вам надо средствами выбранного языка смоделировать объект типа "граф". Сегодня это позволяют сделать любой язык программирования (ну кроме совсем специализированных). А дальше делайте с этим представлением что хотите - хоть кратчайший путь ищите, хоть поиск в ширину-глубину организовывайте, хоть сравнивайте два графа между собой, хоть задачу коммивояжера решайте, хоть распознавайте в графах некоторые паттерны, хоть описывайте свои объекты (например - лица) в виде графовой модели и ищите "подобные". Для всех таких задач есть соответствующие алгоритмы, а часто - и не один, которые изучаются в таком разделе математики, который называется "теория графов". Эти алгоритмы реализуются либо в ручную, самим программистом, но в некоторых языках программирования есть библиотеки, которые решают некоторые задачи из перечисленных. Например для Python есть библиотека NetworkX, которая сильно упрощает работу с сетевыми (графовыми) структурами.
    Если вас интересует вопрос на ответ "как" выполняется распознавание с помощью графов - то тут имеется достаточно много источников, правда большинство из них не для "легкого внеклассового чтения" и требуют достаточно серьезного углубления в математику. Ну вот например,:
    https://www.litres.ru/a-a-dunaev/ispolzovanie-teor...
    https://cyberleninka.ru/article/n/primenenie-teori...
    https://scask.ru/p_book_gpr.php?id=95
    https://cyberleninka.ru/article/n/metod-gibkogo-sr...
    Последний вопрос про "предпочтения языка программирования с точки зрения мощности сервера для данной задачи "- вообще непонятен. Выбор сервера будет сильно отличаться не столько языком реализации вашей системы, сколько самой задачей - например, сегодня распознавание лица при фотографии есть в любом фотоаппарате или смартфоне, а вот если вам надо выявлять преступника на видеопотоке из метро - там совсем другие сервера придется задействовать. Хотя алгоритмы лежащие в основе и язык программирования вполне может быть одним и тем-же.
    Ответ написан
    3 комментария
  • Какая модель машинного обучение тут подойдёт?

    @dmshar
    Вопрос - а причем тут машинное обучение? Типичная задача оптимизации. Кстати, вы даже не определили, что такое "оптимальный остаток". Да, надо подумать и составить модель - опять же типичная задача эконометрики. Загляните к ним на форум, может помогут. Но к ML это отношения не имеет от слова совсем.
    Ответ написан
  • Как зациклить код в Python?

    @dmshar
    Для организации "зацикливания" в Python есть специальные операторы циклов. Их аж два :
    for
    и
    while

    Кто вас знает, что и зачем вы собрались "зацикливать", но общее правило гласит:
    for
    используется как правило для перебора элементов такой сущности, по которой можно итерироваться: коллекция, генератор, итератор.
    while
    используется как правило для бесконечного цикла, а также для циклов, где нет последовательного перебора сущностей, а есть некое условие окончания цикла, либо вычисляемое, либо зависящее от ввода пользователя или какого-то другого недетерминированного события.
    Все остальное прочитаете в любом учебнике по Python, примерно на 5-ой странице.
    P.S. Кстати, "зацикливание" у программистов - это почти ругательство.
    Ответ написан
    Комментировать
  • Счастливый билет. Где ошибка в коде?

    @dmshar
    А зачем все так сложно?
    Зачем введенную строку преобразовывать в int?
    Зачем выделять цифры путем деления на 10?
    Зачем так сложно выяснять длину введенного числа?
    Зачем столько танцев с бубнами над отдельными цифрами?
    Зачем..... ?

    Все по сути делается в три строки:

    a = input("Введите номер вашего билета что бы узнать счастливый он или нет: ")
    if len(a)==6 and a.isdigit():
        la=list(map(int,list(str(a))))
        if sum(la[:3])==sum(la[3:]):
            print('Счастливый')
        else:
            print('Обычный')
    else:
        print("Ввели неверное число")

    Проверка:
    Введите номер вашего билета что бы узнать счастливый он или нет: 123456
    Обычный
    Введите номер вашего билета что бы узнать счастливый он или нет: 222223
    Обычный
    Введите номер вашего билета что бы узнать счастливый он или нет: 222222
    Счастливый
    Введите номер вашего билета что бы узнать счастливый он или нет: 456375
    Счастливый
    Введите номер вашего билета что бы узнать счастливый он или нет: 196277
    Счастливый
    Введите номер вашего билета что бы узнать счастливый он или нет: 012345
    Обычный
    Введите номер вашего билета что бы узнать счастливый он или нет: 000000
    Счастливый
    Введите номер вашего билета что бы узнать счастливый он или нет: 123.456
    Ввели неверное число
    Введите номер вашего билета что бы узнать счастливый он или нет: 123.45
    Ввели неверное число
    Введите номер вашего билета что бы узнать счастливый он или нет: 123Ф56
    Ввели неверное число
    Ответ написан
    Комментировать
  • Как удалить дубликаты из списка?

    @dmshar
    То, что вы написали - некоторые данные в фигурных скобках - согласно синтаксису Python не есть список. Это множество. Множество - это такая структура, которая не допускает повторяющихся элементов внутри себя. Т.е. присвоив эту строку некой переменной, ей автоматом будет приписан тип "set" и при выполнении этой операции все повторяющиеся элементы будут автоматом удалены.
    Вот пример
    slt={'threads/4862302', 'threads/4862302', 'threads/4862302/'}
    print (slt)

    и результат
    {'threads/4862302/', 'threads/4862302'}

    Если вдруг вы считаете, что 'threads/4862302/' и 'threads/4862302' - это один и тот-же элемент, то вам надо предварительно просто поудалять символы '/' из строк, например - вот так:
    slt={'threads/4862302', 'threads/4862302', 'threads/4862302/', 'threads/4862303/','threads/4862304/'}
    sa=set()
    for x in slt:
        if x[-1]=='/':
            x=x[:-1]
        sa.add(x)
    print (sa)

    и результат:
    {'threads/4862304', 'threads/4862303', 'threads/4862302'}
    Ответ написан
    Комментировать
  • С чего начать изучение ML, AI и т. д. чтобы успеть к сроку?

    @dmshar
    А тему курсовой работы мы должны угадать?
    А что такое "чуть больше" чем азы Python - т.е. до операторов цикла и условных операторов вы уже дошли?
    А учитесь вы на математическом факультете московского университета, или на танцевально-астрономическом факультете мухосранского мелиоративного колледжа?
    А по какому предмету курсовая должна угадать система искусственного интеллекта, которую мы подключим, что-бы понять, чего-же тут хотел сказать интеллект естественный?
    Впрочем изучить ИИ "до 10-ых чисел мая" - это, конечно, лучше и реальнее, чем "профессионал по ИИ за 7 дней".

    Но если вы решили эту информацию засекретить, то вот вам универсальный список:

    https://ru.stackoverflow.com/questions/Книги-и-уче...
    и
    https://www.cyberforum.ru/ai/thread2010374.html
    Ответ написан
    Комментировать
  • Сколько комбинаций из цифр 5678?

    @dmshar
    А вы в учебник по комбинаторике заглядывали?
    В первой формуле перемножаемые числа 1,2,3,4 это не цифры, из которых вы комбинируете. Это именно элементы элементарной формулы из комбинаторики. Отсюда ответ на ваш вопрос следует автоматом.
    Тег "IT образование" - это тег для вопросов о том как и чему учиться, что-бы стать ИТ-специалистом, а не место где задают вопросы по основам основ ИТ, коими и является комбинаторика.
    Для таких вопросов есть свой тег.
    Ответ написан
    7 комментариев