0

假设我在下面定义了列表

列表 = {a,b,c,d,e,f,g,h}

我怎么能低于输出 -

list = {a,b,c,d,g,h}

在tcl中使用lrange???

4

1 回答 1

0

给定

set list [list a b c d e f g h]

使用lrange,我们还需要concat将子列表连接在一起

set newlist [concat [lrange $list 0 3] [lrange $list 6 end]]  ;# => a b c d g h

但正如@SchelteBron 评论的那样,lreplace要简单得多

set newlist [lreplace $list 4 5]                              ;# => a b c d g h

如果要删除的范围不固定,您可以执行以下操作:

set start 4
set stop 5
set newlist [lreplace $list $start $stop]

或者

set start 4
set count 2
set newlist [lreplace $list $start [expr {$start + $count - 1}]]
于 2021-11-24T14:36:23.287 回答