|
0 / 0 / 0
Регистрация: 02.02.2021
Сообщений: 9
|
|||||||||||
Присоединение пустого листа02.02.2021, 18:36. Показов 12032. Ответов 11
Метки нет (Все метки)
Здравствуйте!
На учебе дали задание написать функцию union. Дано два листа, на выходе надо вернуть объединенный лист без повторений. Встроенные функции использовать нельзя. Написала следующее:
Добавлено через 41 минуту Пока нашла только что @ копирует левый лист. (Если я правильно понимаю ответы тут https://stackoverflow.com/ques... ng-objects). Значит ли это, что более оптимальным решением может быть union [] rest ? То есть копирование пустого листа должно же быть быстрее...
0
|
|||||||||||
| 02.02.2021, 18:36 | |
|
Ответы с готовыми решениями:
11
Копир даже при копировании пустого листа делает черную полоску Сохранение текущего листа с сохранением имени листа и присвоением новой книге имени текущего листа создание нового листа (заданного формата) с переносом данных с другого листа |
|
Модератор
3132 / 2279 / 469
Регистрация: 26.03.2015
Сообщений: 8,870
|
||||||||||||||
| 03.02.2021, 11:10 | ||||||||||||||
|
Добавлено через 13 минут Что-то типа такого.
"add blist []" копирует blist без повторений Добавлено через 4 минуты Обнаружил у себя ошибку: наличие h проверяется в b и не проверяется в rest Исправил:
0
|
||||||||||||||
|
Модератор
3132 / 2279 / 469
Регистрация: 26.03.2015
Сообщений: 8,870
|
||||||
| 03.02.2021, 11:48 | ||||||
Сообщение было отмечено Almaninyo как решение
Решение
Ещё вопрос - какое вхождение из нескольких оставлять? Если оставлять первое вхождение, то код будет таким:
List.contains у Вас уже есть (memberof), а List.rev написать несложно (разворачивает список).
1
|
||||||
|
0 / 0 / 0
Регистрация: 02.02.2021
Сообщений: 9
|
|
| 03.02.2021, 19:55 [ТС] | |
|
Спасибо за ответы, какое вхождение оставлять - не важно, и переворачивать список, я думаю, тоже не надо - по условиям на выходе должно быть просто множество.
То есть я так понимаю в принципе присоединение списков - дорогая операция? И еще вопрос тогда, а чем плоха хвостовая рекурсия? На первых лекциях по F# у меня наоборот сложилось впечатление (очевидно, ошибочное ), что рекурсия - это наше всё, как Пушкин ...
0
|
|
|
41 / 28 / 13
Регистрация: 31.10.2019
Сообщений: 126
|
|
| 03.02.2021, 19:58 | |
|
а нельзя просто объединить два списка оператором @ ?
0
|
|
|
0 / 0 / 0
Регистрация: 02.02.2021
Сообщений: 9
|
|
| 03.02.2021, 22:37 [ТС] | |
|
нужно чтобы в объединенном списке не было дубликатов. При этом оба списка на входе могут их содержать
0
|
|
|
41 / 28 / 13
Регистрация: 31.10.2019
Сообщений: 126
|
|||||||||||
| 03.02.2021, 23:20 | |||||||||||
|
чтобы удалить дубликаты, список достаточно преобразовать во множество. а затем, множество - снова преобразовать в список
0
|
|||||||||||
|
Модератор
3132 / 2279 / 469
Регистрация: 26.03.2015
Сообщений: 8,870
|
|||
| 04.02.2021, 00:27 | |||
|
Добавлено через 59 секунд zverjuga, В задании "Встроенные функции использовать нельзя."
0
|
|||
|
Модератор
3132 / 2279 / 469
Регистрация: 26.03.2015
Сообщений: 8,870
|
||
| 04.02.2021, 00:48 | ||
|
Так же, в большинстве (90%) случаев рекурсию можно заменить понятиями более высокого порядка - отображение, свертка, фильтр. Конечно, утверждение "сумма списка - это голова (первый элемент) плюс сумма хвоста" выглядит очень математическим. Но лучше сказать, что "сумма списка - это свертка по сложению", оставляя за кадром низкоуровневые детали реализации вычисления свертки. Поэтому в учебном коде от Вас требуют использования рекурсии (для понимания), а в реальном коде лучше вместо явного использования рекурсии использовать встроенные функции map, filter, fold.
1
|
||
|
0 / 0 / 0
Регистрация: 02.02.2021
Сообщений: 9
|
|||||||
| 04.02.2021, 16:28 [ТС] | |||||||
0
|
|||||||
|
Модератор
3132 / 2279 / 469
Регистрация: 26.03.2015
Сообщений: 8,870
|
||||||||||||
| 04.02.2021, 19:02 | ||||||||||||
0
|
||||||||||||
|
0 / 0 / 0
Регистрация: 02.02.2021
Сообщений: 9
|
|
| 05.02.2021, 00:23 [ТС] | |
|
Да, извиняюсь, что-то я не так протестировала. Все в порядке, спасибо!
0
|
|
| 05.02.2021, 00:23 | |
|
Помогаю со студенческими работами здесь
12
Запуск макроса (написанного для актив. нужного листа) с др. листа (сложно) Сохранение листа книги в файле - проблема с защитой листа и привязкой макросов Считать данные с листа EXCEL в Listview. Выбор листа в Combobox
В ячейке B2 второго листа вывести значение ячейки A1 первого листа Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|