本帖最后由 etoxp 于 2014-3-1 00:13 编辑
有一个多重列表,我想修改深藏在这个列表中的某元素的值,返回更新后的列表,程序要怎么写呢?有没有简单的实现方法?
譬如:我想修改下面列表中ABB2的值,要怎么做呢? ABB3的位置可以用一个定位列表来表示,譬如'(0 1 1 2)
(setq List0 (list
(list
(list
(list AAA1 AAA2 AAA3)
(list AAB1 AAB2 AAB3)
(list AAC1 AAC2 aAC3)
)
(list
(list ABA1 ABA2 ABA3)
(list ABB1 ABB2 ABB3)
(list ABC1 ABC2 ABC3)
)
)
(list
(list
(list BAA1 BAA2 BAA3)
(list BAB1 BAB2 BAB3)
(list BAC1 BAC2 BAC3)
)
(list
(list BBA1 BBA2 BBA3)
(list BBB1 BBB2 BBB3)
(list BBC1 BBC2 BBC3)
)
)
)
) - (setq List0 (list
- (list
- (list
- (list AAA1 AAA2 AAA3)
- (list AAB1 AAB2 AAB3)
- (list AAC1 AAC2 aAC3)
- )
- (list
- (list ABA1 ABA2 ABA3)
- (list ABB1 ABB--2 ABB3)
- (list ABC1 ABC2 ABC3)
- )
- )
- (list
- (list
- (list BAA1 BAA2 BAA3)
- (list BAB1 BAB2 BAB3)
- (list BAC1 BAC2 BAC3)
- )
- (list
- (list BBA1 BBA2 BBA3)
- (list BBB1 BBB2 BBB3)
- (list BBC1 BBC2 BBC3)
- )
- )
- )
- )
|