Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Зачем нужен return, когда есть print?

Лучший ответ:
Если нужно просто вывести на экран результат - разницы нет, в данном примере. Если нужно в дальнейшем использовать значение, возвращенное функцией, то, конечно, нужен return. Допустим, как тут, если нужно сравнить два числа, и вернуть из них большее, чтобы затем работать с ним дальше, можем сделать так:
def func(x, y):
    if x > y:
        return x
    elif x == y:
        return 'Числа равны.'
    else:
        return y

max_num = func(3,4)
И в результате в переменной max_num будет наше наибольшее число (ну, либо текст). В данном примере несовсем понятно, конечно. 

Ну вот допустим у нас есть встроенная функция max, которая возвращает максимальное значение из переданных параметров, нечто похожее на то, что сделали вы. Для более наглядного примера я бы рассмотрел random.choice()

Предположим, у нас есть список элементов и нам надо из него выбрать случайный элемент и работать с ним дальше. Мы вызываем random.choice(), который через return вернет нам этот случайный элемент и мы будем с ним работать дальше. Например, использовать его как часть текста. 
greetings = ['Привет', 'Hello', 'Здравствуйте']

greeting = random.choice(greetings)

print(f'{greeting}, master')

В итоге при каждом запуске кода мы будем получать случайный элемент списка в переменную, и все это благодаря наличию return в методе choice. Если бы там было не возвращение элемента через return, а просто print. то тогда наш случайный элемент печатался в консоль и на этом все. Ну, надеюсь понятно. 

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

Если надо будет найти максимальный элемент и использовать его в дальнейшей работе, то с таким кодом - 
def func(x, y):
    if x > y:
        print(x)
    elif x == y:
        print('Числа равны.')
    else:
        print(y)

max_num = func(3,4)
print('Максимальное число -', max_num)
получите None в ответе.

Худший ответ:
Смотрите: print() - это отдельная функция, которая выводит результат, но бывают случаи, когда результат функции нужно сохранить в переменной, допустим. В таком случае делают return функции - За функцией закрепляется значение. В предложенном вами варианте нет разницы в использовании обоих вариантов!
Вопрос: C# .NET в Линукс. Хочу попробовать. Кто отговорит?

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

Худший ответ:
Хочу попробовать.Пробуйте, кто не дает.

Кто отговорит?Я попробую. Попробуйте лучше Python. Он намного проще (синтаксис намного проще чем в bash и php, ведь Python изначально спроектирован на простое чтение кода). К тому же есть огромное количество библиотек, которые решают практически любые задачи! Многие математики, ученые, инженеры и т.д.(у кого профессия напрямую не связана с программирование) выбирают именно Python, ведь он один из самых простых. К тому же на нем можно реализовать практически любые задачи.
Вопрос: Не работает внешняя клавиатура на ноутбуке, что делать?

Лучший ответ:
Все клавиатуры должны работать одновременно, нет такого понятия как приоритет кдавиатур. Пожалуйста, убедитесь, что новая клавиатура вообще работает, например, на другом ноутбуке или ПК.

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

Худший ответ:
загрузитесь с LiveCD/DVD/usb flash и проверьте работу самой клавиатуры на данном ноуте / другом PC
Вопрос: Почему синхронный код в JS потребляет больше памяти?

Лучший ответ:
await - это не "синхронно". Это синтаксический сахар. Соответственно, "внутри" всё то же самое, те же промисы и коллбэки. Скорее всего кушать память стало из-за кривого переписывания.

Худший ответ:
Поскольку код "до" и "после" в вопросе отсутствует, можно только гадать на хрустальном шаре, что же там пошло не так.

Сам по себе чехол со стразами синтаксический сахар async / await не меняет асинхронной сути исполнения. Перечитайте, что ли, про awync / await.
Вопрос: Как установить пароль на сетевую папку?

Лучший ответ:
Можно легче, для начала верни владельца
lusrmgr.msc
создаем новую учетку, удаляем из группы пользователь, добавляем в любую другую группу
у меня это "читатели журнала событий"
создаем пароль
шарим папку через расширенные настройки 
свойства>доступ>расширенная настройка>разрешения

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

если прям страшно за свои файлы: в брандмауэре запрети всем входящие соединения из локалки, кроме тех, с которых сидишь сам. В роутере ставишь привязку по mac адресу на устройства с которых сам сидишь
всё, даже если пароль получен, зайти все равно не смогут
ну и не забудь пароль и логин от админки поменять, и кнопку wps выключить
и шапку из фольги)

Худший ответ:
Вспомнил, почему раньше так не сделал:
В общем доступе к папке видел своего юзера. Причём если сетевого ещё можно удалить, то основного нельзя. Это и смутило. 

Поэкспериментировав, понял что это окно — скорее отражение вкладки безопасность(если удалить userNet здесь, то пропадёт и там). Т.е. сюда смотреть вообще не надо.
А на самом деле, сетевой доступ учёток настраивается в «расширенной настройке общего доступа».

В итоге настроил так. Проверил - пускает только по userNetу, чего и добивался.
Вопрос: Для чего нужно вводить Имя хоста в учетную запись пользователя mysql?

Лучший ответ:
Имя учётной записи в MySQL состоит из имени пользователя и хоста пользователя. Оба компонента обязательны и критичны.

Имя пользователя - задаётся пользователем при подключении. Хост (имя либо адрес) определяется сервером MySQL. самостоятельно, и на этот процесс пользователь почти не имеет возможности повлиять. Объединение этих двух частей и даст полное имя, которое будет использоваться для определения привилегий.

В таблицах пользователей хост может задаваться как частный либо как шаблон (которому соответствует несколько разных хостов, в том числе есть и вариант, которому соответствует любой хост). Есть и определённые ограничения - с некоторых хостов подключение невозможно, равно как и создание учётной записи с такими хостами.

Подробно всё это объясняется в документации в разделе Access Control and Account Management.

Худший ответ:
1. Для аутентификации.
2. Настройками безопасности
Вопрос: Каким образом лучше всего изучать программирование?

Лучший ответ:
Думаю, что надо читать учебники и параллельно практиковаться. Сначала учебник для начинающих, потом для углублённого изучения, потом бомбить пет-проект и искать работу.

Худший ответ:
Метанит, видео-уроки, курсы - это для мартышек. Потом будешь задавать здесь же вопросы типа "Уже несколько месяцев ищу работу, никто даже на собеседования не приглашает. Что делать?"
Вопрос: Как передать переменные с другого класса в скрипте?

Лучший ответ:
Рекомендую тебе открыть вот эту ссылку: https://docs.microsoft.com/en-us/dotnet/csharp/pro...
И начать изучать C#, а то такие вопросы тут ни к чему.

using UnityEngine;
using UnityEngine.UI;

public class NewBehaviourScript : MonoBehaviour
{
    public Text Text;

    // Объявляешь поле типа 'Data'
    public Data SomeData;

    // Methods

    private void Awake()
    {
        // Создаешь экземпляр, иначе будет возвращать NULL.
        SomeData = new Data();

        // Используешь поля
        SomeData.field1 = 2;
        SomeData.field2 = false;
        SomeData.field3 = "release";
    }

    void Update()
    {
        Text.text = SomeData.field1 + "";
    }

    public void OnClick()
    {
        // Обращаешься к полю через созданного экземпляра типа 'Data'.
        SomeData.field1++;
    }

    

}

public class Data
{
        public int field1 = 1;
        public bool field2 = true;
        public string field3 = "test";
}

Худший ответ:
обращаться к объекту - экземпляру этого класса
В чем проблема?
Вопрос: Какие есть одноплатники для NAS?

Лучший ответ:
C одноплатниками дел не имел, увы
А рекомендую посмотреть в сторону Xpenology
Старенький неттоп за пару тысяч купить не проблема, или собрать на miniITX плате
Возможностей гораздо больше чем просто хранить фоточки
Что-нибудь на Atom или AMD достаточно
У меня пяток древних Acer Revo 70 (на AMD E450) уже года по 4 стоят на точках где 2-3 компа как файлопомойки и места для Службы архивации Windows

Худший ответ:
Mini-ITX плата с встроенным Celeron с пассивным охлаждением. Новая стоила в районе 5-7 т.р., на авито себе брал за 1.5. Память, диск и корпус по вкусу и возможностям.
Вопрос: Что нужно для блокирования тока в цепи ~3.7в?

Лучший ответ:
Идея правильная, остается только выбрать правильный диод. Это должен быть диод Шоттки, чтобы падение напряжение было не таким высоким. Неплохие варианты:

1N5817   - падение напряжения (чем меньше, тем лучше) 0.45V (и корпус удобный)
BAT60AE6327HTSA1 - падение напряжения 0.35V (но корпус неудобный)

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

Худший ответ:
питай от 5 вольт и не парься
если  такой нудный/правильный,
то зацепи в цепь 1-2 диода, на каждом будет падаль ≈0,6 вольт
Вопрос: Что нужно изменить в коде?

Лучший ответ:
Программиста этому коду нужно заменить. Зачем определять функцию в бесконечном цикле? Какой смысл сравнивать переменную с самой собой?

Худший ответ:
Согласен с комментаторами выше, но, если по делу, то возможно, что не хватает блока except или finally, которые идут в паре с try. Рекомендую заглянуть в книгу "Python 3. Самое необходимое", Н.А. Прохоренок, В.А. Дронов на страницу 265-269
Вопрос: Как сравнить введенную дату с текущей?

Лучший ответ:
computed: {
  deadlineText() {
    const today = new Date().setHours(0, 0, 0, 0);
    const deadline = new Date(this.task.deadline).setHours(0, 0, 0, 0);
    return [ 'Уже было', 'Сегодня', 'Жди' ][1 + Math.sign(deadline - today)];
  },
},

Худший ответ:
Посмотрите snippet
Вопрос: Подключение к удаленному рабочему столу, так чтоб не мешать пользователю за этим пк?

Лучший ответ:
Есть небольшой костыль который позволит работать разным пользователям одновременно.
Но учетные записи должны быть разные, у каждого своя.
https://www.serverwatch.com/guides/multiple-users-...

Худший ответ:
как подключится к данном пк чтоб мы друг другу не мешали, так чтоб я ему не мешал смотреть видео на камерах наблюдение, и я мог администрировать турникет? ОС Windows 7 Максимальная. 
В данных условиях задача не имеет решения. Windows - система для игр, для работы, а уж тем более многопользовательской работы, она не предназначена от слова совсем.
Если поставить серверную версию (которая стоит совсем другие деньги) - там будет такая возможность - одна консоль и два удаленных подключения. 
Для обычной винды такое можно сделать только нарушая лицензию.
Вопрос: Достаточно ли знать только Python?

Лучший ответ:
Нет.

Худший ответ:
Иногда да, иногда нет. Зависит от сферы.
Вопрос: Есть ли оператор «И» в 1С?

Лучший ответ:
С оператором И все нормально. А вот "ничего не происходит" и "возвращаеся пустой рещультат запроса" - разные вещи.
Скорее всего КатегорияНоменклатуры  - не строка а СправочникСсылка. Проще всего передать её как параметр: КатегорияНоменклатуры = &КатегорияНоменклатуры , Запрос.УстановитьПараметр() и вот это всё. В отдельных случаях можно через две точки: КатегорияНоменклатуры.Наименование = "категория1"

Худший ответ:
Проблема была в Номенклатура.КатегорияНоменклатуры.НАИМЕНОВАНИЕ

ВЫБРАТЬ
	Номенклатура.КатегорияНоменклатуры КАК КатегорияНоменклатуры,
	Номенклатура.Артикул КАК Артикул
ИЗ
	Справочник.Номенклатура КАК Номенклатура
ГДЕ
	Номенклатура.Артикул = "23416"
	И Номенклатура.КатегорияНоменклатуры.Наименование = "категория1"
Вопрос: Как сделать в Figma так, чтобы рамка растягивалась вместе набираемым текстом?

Лучший ответ:
По всей вероятности, судя по приложенному скриншоту, выставлен третий тип выравнивания текста "Fixed Size" - см. иконки на скриншоте ниже:



чтобы рамка адаптировалась по высоте набираемого текста, но оставалась фиксированной ширины, которую можно изменять вручную, надо выбрать вторую иконку "Auto height". А чтобы рамка полностью подстраивалась под текст и по ширине тоже, надо выбрать первую иконку "Auto width".

Худший ответ:
Нажми букву K на клавиатуре, она активирует пропорциональное масштабирование.
Вопрос: Хорошее ли это решение для резюме?

Лучший ответ:
это не имеет значения. главное чтоб его было удобно открыть. хоть голубями высылай.
почему по твоему мнению это не солидно? где его надо по твоей логике хранить?)

Худший ответ:
1) плохая практика
приучись все по делу слать в тексте письма, вообще, по жизни, и не запаковывая
2) надо стараться жить без резюме, хотя для KYC в норм банках европейских оно таки надо, тогда все то же - Word
Вопрос: Выбор блютус наушников до 20$ Какие варианты достойные?

Лучший ответ:
"Стоимость до 20$" и "качественные" - взаимоисключающие понятия.

Худший ответ:
Заходи на сайт ДНС-а, Ситилинка и ищи, какие будут в пределах данной мизерной суммы наиболее качественные по отзывам, те и бери..
Вопрос: Как сделать rpc из rest api?

Лучший ответ:
Создаём новый сервис и используем его как гейтвей. Новый сервис трансформирует запросы в rest.

Худший ответ:
редиректить c https://site.com/api-rpc/?token=ddasdwe12&action=add на https://site.com/api/add не вариант?
Вопрос: Как распаковать список в C#?

Лучший ответ:
Ну тут вопрос, зачем делать список из обжектов, если можно List<List<double[]>>, но если повлиять не можешь и точно знаешь что содержимое именно такое:

var items = orders_
 .Cast<List<object>>() // В случае с List<List<double[]>> просто надо убрать эти вызовы Cast.
 .SelectMany(x=>x)
 .Cast<double[]>() // и этот тоже
 .SelectMany(x=>x);

Console.WriteLine(string.Join(", ", items));

Худший ответ:
Похоже с List<List<double[]>> работает гораздо лучше. Спасибо
Вопрос: Выбор игрового движка исходя из перспектив ЯП, который он поддерживает ( unity или ue4 )?

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

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

Я бы рекомендовал Юнити - порог входа ниже будет. Ну или если вы из веба - кокосКреатор - там js/ts

Худший ответ:
Юнити. Согласен во всем сказанным выше. Плюс шикарное обучение на сайте юнити, которое я  прошел "запоем" и остался в полном восторге. В то же время создалось впечатление, что профи в шарпе или плюсах ты не станешь, занимаясь разработкой на базе движка. Здесь своя специфика, и основной акцент сделан на использовании готовых API. Тут скорее про работу с движком а не с языком программирования. 
Сам пришел из ДжаваСкрипт.  На ознакомление с базовыми особенностями С# ушло буквально пару дней, остальное в процессе. Гораздо больше времени трачу на изучение сопутствующих технологий, вроде блендера. Единственное что я вынес для себя, знакомясь через юнити с шарпом - джаваскрипт это практически не язык программирования, оказывается )
Вопрос: Какое устройство предоставляет публичные IPv4 в мобильной сети?

Лучший ответ:
Получается так.

Худший ответ:
Для мобильников маршрутизатор стоит на вышке сотовой связи. Работает по принципу вифи - подключились, он дальше выдал IP, далее NAT и погнали
Вопрос: Вредит ли компьютеру долгое выключение?

Лучший ответ:
50 секунд это многовато

Если в windows вместо выключения делать hibernate, то да, это может выглядеть именно так, монитор выключается но в это время оперативная память сбрасывается на диск и только после этого компьютер физически выключается, но обычно даже на hdd это занимает несколько секунд, максимум десяток.

В windows можно настроить задачи, которые она должна выполнять перед выключением, может настроили выключение виртуальных машин, вот они и шатдаунятся это время? Но обычно в это время монитор не выключается (исключение - мультимониторные конфигурации, возможны нестандартные настройки когда главный монитор выключается как только пользователь разлогинился)

Информации мало чтобы понять что это.

Худший ответ:
Не вредит, но является признаком, что что-то с компьютером или ОС не так, а это что-то - вполне может вредить.
Вопрос: Как правильно организовать получение списка данных с дополнительным полем — количество?

Лучший ответ:
А что мешает после получения всех элементов просто взять размер полученного массива?

Худший ответ:
Без дополнительного запроса нельзя.
Есть разные ухищрения, которые позволят замаскировать дополнительный запрос, но по факту это будет именно он.
Но при этом есть риск натупить с производительностью.
Так что лучше не пытаться усидеть на двух стульях  одной, ээээ..., туловищем, а сделать два отдельных запроса. 
Да, это неудобно. Но неправильный подсчет полного количества строк на большой таблице может создать очень сильную нагрузку, вплоть до того, чтобы полностью положить систему. Так что лучше не экспериментировать
Вопрос: Что такое this[...] в C#?

Лучший ответ:
Это Индексатор
https://docs.microsoft.com/en-us/dotnet/csharp/pro...

По смыслу - функция, которая от key (который object) возвращает какой-то VkResponse.

Синтаксически, вызов индексатора выглядит как обращение по индексу в массиве (с квадратными скобками)

Худший ответ:
Достает значение по ключу key, тот же самый словарь, или в данном случае json.
Вопрос: Как добавить к названию переменой символ?

Лучший ответ:
4 куска подобного кода.
Какая чёткая характеристика.

Ответ: замените пачку переменных на массив и обрабатывайте его циклом.

Худший ответ:
temp = [str(res["daily"][i]["temp"]["day"]) for i in range(0, 9)]
print('Всего:', len(temp))
print('Все:', temp)
print('Нулевой:', temp[0])
Учитесь работе со списками, пригодится.
Вопрос: Как я могу ограничить вход в эту учетную запись всем кроме системы сервера?

Лучший ответ:
open server - это пакет для разработчика. Если вы на этом продакшн поднимаете - то ооочень зря...

Худший ответ:
Решил я проблему тем что заблокировал учетную запись mysql путём ввода команды ALTER USER 'mysql'@'localhost' ACCOUNT LOCK;
ALTER USER 'mysql'@'::1' ACCOUNT LOCK;
ALTER USER 'mysql'@'127.0.0.1' ACCOUNT LOCK;
Вопрос: Как удалить программу через Ubuntu Software?

Лучший ответ:
Установите пакетный менеджер Synaptic и забудьте навсегда о существовании убогой, глючной программе Ubuntu Software. Была такая же проблема, решил Synaptic'ом.

Худший ответ:
открой директорию где программа установлена, введи в терминал команду sudo rm -rf и название дирректории
Вопрос: Как микроконтроллеру удаётся помимо измерения температуры, выдавать на экран номер ошибки?

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

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

Худший ответ:
Кратко - "с помощью программы, согласно которой он работает".
Вариантов исполнения - масса. Начиная от аппаратных (увеличение числа состояний сверх "0" и "1"), что может дать программе явную ветку "сигнал вне допустимого диапазона". До чисто программных - если после подачи сигнала "naked female" рабочий инструмент "dick" не перешёл из состояния "0" в состояние "1" за допустимое время, то операция "coitus" невозможна.

P.S. Такое впечатление, Иван, что Вы троллите.
Вопрос: Как подключится к Mikrotik?

Лучший ответ:
Ну, есть универсальный патч. Он особо подходит для тех, кто считает, что из всех дистрибов ему нужен почему-то Kali - ужасно узко специализированный дистриб для ИТ-безопасников, на нубов не рассчитанный от слова совсем.

Худший ответ:
Нужно было всего-лишь отключить NetworkManager ...
Вопрос: Для чего композер требует указать ext-curl у себя?

Лучший ответ:
Список расширений php - https://www.php.net/manual/en/extensions.membership.php
Как видите curl входит в категорию "External Extensions" и значит может быть не установлен или недоступен на целевой системе.
Поэтому вы явно указываете в зависимостях в composer.json что для запуска вашего кода требуется ext-curl и при его отстутствии composer install выдаст об этом соответствующее сообщение с ошибкой

Худший ответ:
Модуль curl запросто может отсутствовать.
Вопрос: Как организовать дистанционное обучение с одним преподавателем и множеством учеников?

Лучший ответ:
Анрил. Я бы предложил записывать ролики для изучения и выкладывать в онлайн и связываться по ватсапу группами по 20 человек на разборе заданий. Но все равно не вытянете

Худший ответ:
Существует полно площадок, где обучают детей и/или взрослых программированию. Посмотрите, как это сделано у них.
Вопрос: Как он наложил такой градиент на пилу в фотошопе?

Лучший ответ:
Вот ваш "специальный" градиент. Просто скопирован с картинки.



Худший ответ:
Ответ на этот вопрос, а так же на десять последующих - взял и сделал.
Нет никаких магических двух кнопок, которые можно нажать и получить идеальный результат. Попробуйте способ выделения "прямыми руками" - лично меня он ни разу не подводил. Автоматическое выделение, как минимум, можно сужать и расширять, подчищая проблемные места.
Вопрос: Как реализовать отношение один к одному в Entity Framework?

Лучший ответ:
Почитайте - тут хорошо всё расписано. 
С точки зрения архитектуры БД, если есть отношение один-к-одному, то возможно есть смысл объединить данные в одну таблицу.

Худший ответ:
 У меня есть 3 сущности User, Mentor и Student. Mentor и User имеют связь один к одному, Student и User тоже имеют связь один к одному.  

Возможно у Вас не 3 сущности, а 2. User (имя, дата рождения, и тд. ) и Role (User, Mentor, Student). 

 Также и них должны быть одинаковые Id. То есть когда мы хотим добавить объект Mentor, уже должен быть объект User с таким же Id. Также и со Student. 

Бред.

ID - это синтетический ключ. Некое искусственное уникальное поле назначение которого однозначно идентифицировать строку в базе. Строить на его базе какую либо логику нельзя. 

 Я просто новичок в Entity Framework 
Проблема не в том что Вы новичок в EF, а в том что Вы новичок в проектировании БД. 

Для начала разберитесь в связях (как они реализуются, для чего используются и тд. ), а потом уже разбирайтесь с EF.
Вопрос: Как смонтировать витую пару в щитке?

Лучший ответ:
Не уверен, что такое есть на DIN-рейку, а стандартно используются кросс-панели


Худший ответ:
если это один кабель из 8 проводов, то:
Вопрос: Как сделать слушатель на enter React?

Лучший ответ:
Не совсем понял в чём именно проблема.
Вы не понимаете как поставить обработчик на Enter? В целом это обычный слушатель на событие keypress, например с проверкой свойства key (event.key === "Enter").

Или не ясно как в этом обработчике дальше логику строить? 

также будет имитироваться клик на кнопку которая отправляет сообщение
Вам не нужно пытаться имитировать клик по кнопке, это усложнит код. Обработкой нажатия на enter и клика по кнопке отправки должен заниматься один обработчик. Т.е. у вас есть два слушателя (на enter и на клик по кнопке), но они должны вызывать одну функцию/метод который уже и отправляет сообщение.

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

Лучший ответ:
Это называется кластеризация, и самый ходовой метод для неё — K-means.

Худший ответ:
Пример из MatLab (через двоичные деревья) (кластерный анализ)
PD = pdist(Data);             % (Data,'cityblock');
Z = linkage(PD,'average');   % (PD);
dendrogram(Z)

c = cophenet(Z,PD)
%I = inconsistent(Z);

T = cluster(Z,'cutoff',cut);
% или T = cluster(Z,'maxclust',nClust);