列表处理
现列表1:(("2#-F3AL1" "70kW" "0.85" "0.95") ("2#-F2AL1" "70kW" "0.85" "0.95") ("2#-F1AL1" "70kW" "0.85" "0.95"))现列表2:(("2#-F1AL1" "WL1" "普通照明 1" "0.416kW") ("2#-F2AL1" "WL1" "普通照明 1" "0.768kW") ("2#-F3AL1" "WL1" "普通照明 1" "0.768kW")
("2#-F1AL1" "WC1" "普通插座 1" "1.0kW") ("2#-F2AL1" "WC1" "普通插座 1" "1.0kW") ("2#-F3AL1" "WC1" "普通插座 1" "1.0kW")
("2#-F1AL1" "WG1" "公共照明 1" "0.416kW") ("2#-F2AL1" "WG1" "公共照明 1" "0.416kW") ("2#-F3AL1" "WG1" "公共照明 1" "0.416kW"))
目标列表:(("2#-F3AL1" "70kW" "0.85" "0.95" ("WL1" "普通照明 1" "0.768kW") ("WC1" "普通插座 1" "1.0kW") ("WG1" "公共照明 1" "0.416kW"))
("2#-F2AL1" "70kW" "0.85" "0.95" ("WL1" "普通照明 1" "0.768kW") ("WC1" "普通插座 1" "1.0kW") ("WG1" "公共照明 1" "0.416kW"))
("2#-F1AL1" "70kW" "0.85" "0.95" ("WL1" "普通照明 1" "0.416kW") ("WC1" "普通插座 1" "1.0kW") ("WG1" "公共照明 1" "0.416kW")))
各位大神帮忙看一下,如何这样处理列表,谢谢
本帖最后由 wzg356 于 2020-11-20 21:20 编辑
(setq l3 nil)
(foreach n l1
(setq a(car n) c nil)
(foreach nn l2
(if(setq b(member a nn))
(setq c(cons (cdr b) c))
)
)
(setq l3(cons (append n c) l3))
)
l3为目标表
(setq B1 '(("2#-F3AL1" "70kW" "0.85" "0.95")
("2#-F2AL1" "70kW" "0.85" "0.95")
("2#-F1AL1" "70kW" "0.85" "0.95")
)
)
(setq B2 '(("2#-F1AL1" "WL1" "普通照明 1" "0.416kW")
("2#-F2AL1" "WL1" "普通照明 1" "0.768kW")
("2#-F3AL1" "WL1" "普通照明 1" "0.768kW")
("2#-F1AL1" "WC1" "普通插座 1" "1.0kW")
("2#-F2AL1" "WC1" "普通插座 1" "1.0kW")
("2#-F3AL1" "WC1" "普通插座 1" "1.0kW")
("2#-F1AL1" "WG1" "公共照明 1" "0.416kW")
("2#-F2AL1" "WG1" "公共照明 1" "0.416kW")
("2#-F3AL1" "WG1" "公共照明 1" "0.416kW")
)
)
(setq Jgb (mapcar '(lambda(x)
(append x (mapcar 'cdr (vl-remove-if '(lambda(y)(/= (car x) (car y))) B2)))
)
B1
)
)
兄弟你是做什么的
页:
[1]