| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Перегруппировать список

Перегруппировать список

Ответ
Поиск в этой теме
Непрочитано 08.06.2022, 14:20 #1
Перегруппировать список
===AAA===
 
г. Норильск
Регистрация: 15.08.2005
Сообщений: 463

Всем привет!

Напомните, плиз.

Для решения задачи перегруппировки списка типа:

(("A" "123")("A" "124")("A" "ASD")("B" "456")("C" "FGH")("A" "QWE")("B" "333a"))

в список

(("A" "123" "124" "ASD" "QWE")("B" "456" "333a")("C" "FGH"))

стандартные функции есть или свою писать нужно?
__________________
Счастливо, Алексей!
Просмотров: 1367
 
Непрочитано 08.06.2022, 14:30
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,832


Я бы писал свою. Штатных не помню.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 08.06.2022, 14:33
#3
trir


 
Регистрация: 18.12.2010
Сообщений: 5,051


Offtop:
Цитата:
Я бы писал свою. Штатных не помню.
по этому я люблю C# - там есть Linq
trir вне форума  
 
Автор темы   Непрочитано 08.06.2022, 14:34
#4
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 463


Самое смешное, что мне кажется, я уже тоже когда-то очень давно писал свою.
Порылся, не нашёл. Ладно, не беда - снова напишу. :-)
__________________
Счастливо, Алексей!
===AAA=== вне форума  
 
Непрочитано 08.06.2022, 14:37
#5
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,832


Да ну, там максимум 10 строчек
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 12.06.2022, 15:11
#6
StupidDuck


 
Регистрация: 22.09.2017
Сообщений: 17


Код:
[Выделить все]
 (setq ll '(("A" "123") ("A" "124") ("A" "ASD") ("B" "456") ("C" "FGH") ("A" "QWE") ("B" "333a")) out nil)
(while ll
(setq 	temp (vl-remove-if '(lambda (x) (/= (car x) (caar ll))) ll)
      	ll (vl-remove-if '(lambda (x) (member x temp)) ll)
	out (cons (cons (caar temp) (append (mapcar 'cadr temp))) out)
	);setq
);while
StupidDuck вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Перегруппировать список

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа для наружных сетей ВК jackUAROBEY Готовые программы 15 11.04.2019 12:52
Solidworks 2014. Как создать выпадающий список? voverrr SolidWorks 1 18.02.2016 16:27
Как передать функции (getkword) Список ключевых слов из списка? Kostinok Программирование 31 31.05.2012 13:08
Помощь по Лире Серега М Лира / Лира-САПР 52 28.05.2007 02:47