Tcl 将列表转换为数组

Tcl 将列表转换为数组,tcl,Tcl,考虑下面的示例代码,我需要将列表“nvlist”转换回数组。我该怎么做 for {set i 0} { $i < 3} {incr i} { set color($i) $i } set nvList [array get color] 对于{set i 0}{$i

考虑下面的示例代码,我需要将列表“nvlist”转换回数组。我该怎么做

for {set i 0} { $i < 3} {incr i} {
    set color($i) $i    
}
set nvList [array get color]
对于{set i 0}{$i<3}{incr i}{
设置颜色($i)$i
}
设置nvList[数组获取颜色]

在此之后,我在nvlist中有数据,我需要将其更改回数组。。如何执行此操作?

array get
array set
是反比:

for {set i 0} { $i < 3} {incr i} {
    set color($i) $i    
}
set nvList [array get color]
set dict [array get myArr]
array set myArrCopy $dict

实际上,您已经在一个名为“color”的数组中找到了,所以理论上您不需要做任何事情。:-)

看到您的问题后,您知道Tcl数组是关联数组吗?它们没有自然的元素顺序。Tcl的有序数据类型是list(或dictionary,从8.5开始,仅在非常特殊的意义上)。
for {set i 0} { $i < 3} {incr i} {
    set color($i) $i    
}
set nvList [array get color]