Because, as usual, I did a little 'of confusion with my previous post "Puzzle: flat list to nested indexed list", I will try to write as little as possible by just giving examples.
(I hope the subject of the discussion is correct)
My question is:
is the list #Info6_NO_Index or #Info6_Index better?
It is better to get the data through the position (nth) or through assoc?
(defun Dxf (DxfCod EntDat) (cdr (assoc DxfCod EntDat)))
(DXF 1 (cdr (DXF 1 (cdr (DXF 1 #Info6_Index))))) => ("Tropicana" "Vitamin E" "Protein 7" "1.1")
(DXF 2 (cdr (DXF 2 (cdr (DXF 1 #Info6_Index))))) => (nil)
(nth 1 (cdr (nth 1 (cdr (nth 1 #Info6_NO_Index))))) => ("Tropicana" "Vitamin E" "Protein 7" "1.1")
(nth 2 (cdr (nth 2 (cdr (nth 1 #Info6_NO_Index))))) => (nil)
(setq #Info6_NO_Index '(
("SubGroup 0"
("Class 00"
("SubClass 000" "000 DescriptionA" "000 DescriptionB" "000 Measure")
("SubClass 001" "001 DescriptionA" "001 DescriptionB" "001 Measure")
("SubClass 002" "002 DescriptionA" "002 DescriptionB" "002 Measure")
)
("Class 01"
("SubClass 010" "010 DescriptionA" "010 DescriptionB" "010 Measure")
("SubClass 011" "011 DescriptionA" "011 DescriptionB" "011 Measure")
("SubClass 012" "012 DescriptionA" "012 DescriptionB" "012 Measure")
)
("Class 02"
("SubClass 020" "020 DescriptionA" "020 DescriptionB" "020 Measure")
("SubClass 021" "021 DescriptionA" "021 DescriptionB" "021 Measure")
("SubClass 022" "022 DescriptionA" "022 DescriptionB" "022 Measure")
)
)
("Fruits"
("Apple"
("Winesap" "Vitamin A" "Protein 2" "5.5")
("McIntosh" "Vitamin B" "Protein 3" "7.6")
("Granny Smith" "Vitamin C" "Protein 1" "2.8")
)
("Orange"
("Valencia" "Vitamin D" "Protein 5" "2.2")
("Tropicana" "Vitamin E" "Protein 7" "1.1")
("Generic" "Vitamin F" "Protein 9" "1.9")
)
(nil
(nil)
(nil)
(nil)
)
)
("SubGroup 2"
("Class 20"
("SubClass 200" "200 DescriptionA" "200 DescriptionB" "200 Measure")
("SubClass 201" "201 DescriptionA" "201 DescriptionB" "201 Measure")
("SubClass 202" "202 DescriptionA" "202 DescriptionB" "202 Measure")
)
("Class 21"
("SubClass 210" "210 DescriptionA" "210 DescriptionB" "210 Measure")
("SubClass 211" "211 DescriptionA" "211 DescriptionB" "211 Measure")
("SubClass 212" "212 DescriptionA" "212 DescriptionB" "212 Measure")
)
("Class 22"
("SubClass 220" "220 DescriptionA" "220 DescriptionB" "220 Measure")
("SubClass 221" "221 DescriptionA" "221 DescriptionB" "221 Measure")
("SubClass 222" "222 DescriptionA" "222 DescriptionB" "222 Measure")
)
)
))
(setq #Info6_Index '(
(0 "SubGroup 0"
(0 "Class 00"
(0 "SubClass 000" "000 DescriptionA" "000 DescriptionB" "000 Measure")
(1 "SubClass 001" "001 DescriptionA" "001 DescriptionB" "001 Measure")
(2 "SubClass 002" "002 DescriptionA" "002 DescriptionB" "002 Measure")
)
(1 "Class 01"
(0 "SubClass 010" "010 DescriptionA" "010 DescriptionB" "010 Measure")
(1 "SubClass 011" "011 DescriptionA" "011 DescriptionB" "011 Measure")
(2 "SubClass 012" "012 DescriptionA" "012 DescriptionB" "012 Measure")
)
(2 "Class 02"
(0 "SubClass 020" "020 DescriptionA" "020 DescriptionB" "020 Measure")
(1 "SubClass 021" "021 DescriptionA" "021 DescriptionB" "021 Measure")
(2 "SubClass 022" "022 DescriptionA" "022 DescriptionB" "022 Measure")
)
)
(1 "Fruits"
(0 "Apple"
(0 "Winesap" "Vitamin A" "Protein 2" "5.5")
(1 "McIntosh" "Vitamin B" "Protein 3" "7.6")
(2 "Granny Smith" "Vitamin C" "Protein 1" "2.8")
)
(1 "Orange"
(0 "Valencia" "Vitamin D" "Protein 5" "2.2")
(1 "Tropicana" "Vitamin E" "Protein 7" "1.1")
(2 "Generic" "Vitamin F" "Protein 9" "1.9")
)
(2 nil
(0 nil)
(1 nil)
(2 nil)
)
)
(2 "SubGroup 2"
(0 "Class 20"
(0 "SubClass 200" "200 DescriptionA" "200 DescriptionB" "200 Measure")
(1 "SubClass 201" "201 DescriptionA" "201 DescriptionB" "201 Measure")
(2 "SubClass 202" "202 DescriptionA" "202 DescriptionB" "202 Measure")
)
(1 "Class 21"
(0 "SubClass 210" "210 DescriptionA" "210 DescriptionB" "210 Measure")
(1 "SubClass 211" "211 DescriptionA" "211 DescriptionB" "211 Measure")
(2 "SubClass 212" "212 DescriptionA" "212 DescriptionB" "212 Measure")
)
(2 "Class 22"
(0 "SubClass 220" "220 DescriptionA" "220 DescriptionB" "220 Measure")
(1 "SubClass 221" "221 DescriptionA" "221 DescriptionB" "221 Measure")
(2 "SubClass 222" "222 DescriptionA" "222 DescriptionB" "222 Measure")
)
)
))