concat | concat 列表A 列表B |
lrepeat | lrepeat 重复次数 列表A |
lindex | lindex 列表A 元素索引 |
lrange | lrange 列表A 元素索引a 元素索引b |
llength | length 列表A |
lassign | lassign 列表A 元素索引a 元素索引b |
lappend | lappend 列表A 增加的元素 |
linsert | linsert 列表A 元素索引a |
lreplace | lreplace 列表A 元素索引a 替换元素 |
lset | lset 列表A 元素索引 替换元素 |
lsearch | lsearch(-all –inline –not) 列表A 元素 |
lsort | lsort 列表A |
split | split 列表A 分隔符 |
join | join 列表A 分隔符 |
#!/usr/bin/tclsh
#### concat 连接
set zimu [list a b c d];
set mun [list 1 2 3 4];
set and [concat $zimu $mun];
puts $and ;
concat $mun $zimu;
puts $mun;
#### lrepeat 重复
set a [list 7 8 9 10];
set b [lrepeat 4 $a];
set bb [lrepeat 4 7 8 9 10];
puts $b;
puts $bb;
#### lindex & llength & lrange 下标查元素 长度 范围截取
set c [list 4 5 6 7];
puts [llength $c];
puts $c;
set d [llength $c]-1;
puts $d;
set dd [lindex $c 0]
puts [lindex $c 0]
puts $dd;
set ddd [lindex $c end];
puts $ddd-1;
set u {a {a {d c}} e}
set uu [lindex $u 1 1 1];
puts $uu;
set ra [lrange $u 1 2];
puts $ra;
### lassign 重新分配
lassign $ra o p;
puts $o;
puts $p
set ooo [lassign $u oo]
puts $ooo
set ooo [lassign $u oo pp]
puts $ooo
set ooo [lassign $u oo pp qq]
puts $ooo
###lappend && linsert 增加 插入
set num [list 1 2 3 4 5]
lappend num 1 2 {3 4 5}
puts [lappend num 1 2 {3 4 5}]
puts $num
set num1 [linsert $num 0 insert]
puts $num1
set num2 [linsert $num1 end 6]
puts $num2
set num3 [linsert $num2 999 7]
puts $num3
##### lreplace 替代
set num4 [lreplace $num3 0 0]
puts [lreplace $num 0 0]
puts $num4
set num5 [lreplace $num4 0 0]
puts $num5
set num6 [lreplace $num5 end end]
puts $num6
set num7 [lreplace $num6 end end 666]
puts $num7
set num7 [lreplace $num7 end end 777]
puts $num7
#### lset 直接对原列表发生改变
lset num7 end 888
puts $num7
set lll [lset num7 {6 2} 777]
puts $lll
#######lserach 查询
set se [list b1 b2 b3 b4 b5 n1 n2 n3 n4]
set one [lsearch $se b1]
puts $one
#### 输出的是索引下标
set tw [lsearch $se b6]
puts $tw
set thr [lsearch -all -inline $se b*]
puts $thr
set four [lsearch $se {b[2 3]}]
puts $four
#set five [lsearch -all $se b[123]]
#puts $five
set sev [lsearch -all -inline -not $se {b[3 5]}]
puts $sev
set six [lsearch -all $se b*]
puts $six
#####lsort 排序
set word [list a o p d k]
set drow [lsort $word]
puts $word
puts $drow
set num [list 8 2 5 3 7 6]
set mun [lsort -integer $num]
puts $num
puts $mun
set M [list {w 10} {a 8} {p 9}]
set N [lsort -index 0 $M]
set N2 [lsort -integer -index 1 $M]
puts $N
puts $N2
######## split && join && in
#隔开
#合并
#是否存在
set yy asdfghj
set y2 [split $yy sfh]
puts $y2
set y3 [llength [split $yy aj]]
puts $y3
set qqq [list 1 2 3 4 5]
set q1 [join $qqq {}]
set q2 [join $qqq /]
set q3 [join $qqq \n]
puts $q1
puts $q2
puts $q3
set aaa a
set bbb b
set y4 [expr {$aaa in $y2}]
puts $y4
set y5 [expr {$bbb in $y2}]
puts $y5
####### foreach
set test [list 1 e 2 r 3 t 4 y 5 w]
set test2 {11 22 33 44 55}
puts $test
foreach {m n} $test {
set mm [expr {$m+100}]
puts "$mm $n"
}
puts $mm
foreach {tes1 tes} $test tes2 $test2 {
set tes3 [expr {$tes1+100}]
puts "$tes3 $tes $tes2"
}