#!/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"
}
输出结果 :
a b c d 1 2 3 4
1 2 3 4
{7 8 9 10} {7 8 9 10} {7 8 9 10} {7 8 9 10}
7 8 9 10 7 8 9 10 7 8 9 10 7 8 9 10
4
4 5 6 7
4-1
4
4
7-1
c
{a {d c}} e
a {d c}
e
{a {d c}} e
e
1 2 3 4 5 1 2 {3 4 5} 1 2 {3 4 5}
1 2 3 4 5 1 2 {3 4 5} 1 2 {3 4 5}
insert 1 2 3 4 5 1 2 {3 4 5} 1 2 {3 4 5}
insert 1 2 3 4 5 1 2 {3 4 5} 1 2 {3 4 5} 6
insert 1 2 3 4 5 1 2 {3 4 5} 1 2 {3 4 5} 6 7
2 3 4 5 1 2 {3 4 5} 1 2 {3 4 5}
1 2 3 4 5 1 2 {3 4 5} 1 2 {3 4 5} 6 7
2 3 4 5 1 2 {3 4 5} 1 2 {3 4 5} 6 7
2 3 4 5 1 2 {3 4 5} 1 2 {3 4 5} 6
2 3 4 5 1 2 {3 4 5} 1 2 {3 4 5} 666
2 3 4 5 1 2 {3 4 5} 1 2 {3 4 5} 777
2 3 4 5 1 2 {3 4 5} 1 2 {3 4 5} 888
2 3 4 5 1 2 {3 4 777} 1 2 {3 4 5} 888
0
-1
b1 b2 b3 b4 b5
1
b1 b2 b4 n1 n2 n3 n4
0 1 2 3 4
a o p d k
a d k o p
8 2 5 3 7 6
2 3 5 6 7 8
{a 8} {p 9} {w 10}
{a 8} {p 9} {w 10}
a d g j
3
12345
1/2/3/4/5
1
2
3
4
5
1
0
1 e 2 r 3 t 4 y 5 w
101 e
102 r
103 t
104 y
105 w
105
101 e 11
102 r 22
103 t 33
104 y 44
105 w 55
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 分隔符 |