(defun c:tt()
(setq lst1 '(("居住" "1431.05" "8586.30")
("居住" "1329.99" "7979.94")
("商业" "596.30" "1788.90")
("公共设施" "395.54" "791.08")
("其他" "365.70" "731.40")
("居住" "1311.85" "7871.10")
("居住" "1965.39" "11792.34")
("公共设施" "507.51" "1015.02")
("公共设施" "668.77" "1337.54")
("公共设施" "502.95" "1005.90")
("公共设施" "574.56" "1149.12")
("其他" "660.27" "1320.54")
))
(setq lstb '("居住" "宾馆饭店" "商业" "金融" "办公" "娱乐" "厂房" "公共设施" "其他")
i 0
len (length lstb)
lst2 '()
lst3 '()
)
(repeat len
(setq a (nth i lstb))
(setq lsti (vl-remove nil (mapcar '(lambda(x) (if (member a x) (append x lst2)) ) lst1)))
(setq lst3 (cons lsti lst3))
(setq i (1+ i))
)
(princ lst3)
(princ)
) (mapcar'(lambda(n m)
(list
m
(rtos (apply '+ (mapcar '(lambda(x) (atof (cadr x))) n)) 2 2)
(rtos (apply '+ (mapcar '(lambda(x) (atof (caddr x))) n)) 2 2)
)
)
(reverse lst3)
lstb
)
我也计算出来了~嘿嘿~
(
("居住" "6038.28" "36229.68")
("宾馆饭店" "0.00" "0.00")
("商业" "596.30" "1788.90")
("金融" "0.00" "0.00")
("办公" "0.00" "0.00")
("娱乐" "0.00" "0.00")
("厂房" "0.00" "0.00")
("公共设施" "2649.33" "5298.66")
("其他" "1025.97" "2051.94")
)
页:
1
[2]