将嵌套元素添加到“平面”列表中

时间:2012-06-17 14:25:23

标签: list nested tcl

我有一个“平坦的”Tcl列表。现在我想将一个新元素作为子元素附加到其中一个现有元素上。我怎么能这样做?

这就是我的尝试:

[ lindex $flights $i ] [ lindex $flight 0 ] ]

我尝试将列表“flight”中的元素添加到列表“flight”的元素中。航班列表中的元素$i已经存在。

由于我是Tcl的新用户,我可能会针对Tcl语法运行。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

您可以使用 lset 将列表中的元素替换为新列表。 http://www.tcl.tk/man/tcl8.5/TclCmd/lset.htm新列表的第一个元素是旧元素,第二个元素是它的子元素。这是一个例子:

% set flights [list a b c d e]
a b c d e
% set i 1
1
% lset flights $i [list b child]
a {b child} c d e
% lindex $flights 1
b child
% lindex [lindex $flights 1] 1
child
% lindex [lindex $flights 1] 0
b