1

除了有没有更好的方法

  1. 查找列表的长度 ( [llength])
  2. 反击中途岛 [llength]/2
  3. 然后弹出所有[lindex $index]元素lindex/2
  4. 然后使用原始列表与步骤 3 中的列表相交

如果有一种较少涉及的方式来弹出 list1 中的一个元素和 list 2 中的下一个元素等,那就太好了。

4

2 回答 2

3
set len [expr {[llength $src] / 2}]
set left [lrange $src 0 [expr {$len - 1}]]
set right [lrange $src $len end]

您也可以先检查全长是否为大于或等于 2 的偶数。

于 2013-01-24T08:07:18.827 回答
0

您可以使用 foreach 循环。

set pairedlist [list "FirstName" "Tony" "LastName" "Bennett"]

set keys [list]
set values [list]

foreach {key value} $pairedlist {
  puts "$key: $value"
  lappend keys $key
  lappend values $value
}

puts $keys
puts $values
于 2013-01-24T23:10:10.917 回答