2023年12月9日发(作者:做人难的经典语句)
Tcl列表排序命令之lsort
lsort ?options? list
对列表中的元素进行排序,返回排序后的新列表。默认情况下以ascii的顺序递增排序。options支持以下选项:
选项
-ascii
说明
字符串比较。
字典比较。与-asii相同,除了两点:1.除非字母为排序的关键点,否则忽略大小写。如aBc会排在abb和abc之间。2.如果两个
字符串嵌入了数字,数字会按整数比较,而不是字符。如a10b在a9b和a11b之间。
将列表元素转换为整数并使用整数比较。
将列表元素转换为浮点值并使用浮点数比较。
使用cmds作为比较命令。由cmds命令组成的脚本附加两个元素作为额外参数,脚本需要在第一个元素大于、等于或小于第二
个元素时分别返回一个大于、等于或小于零的整数。
按递增顺序对列表进行排序。
按递减顺序对列表进行排序
返回排序后的列表索引,而不是排序后的值。
如果指定了此选项,但是没有使用-stride选项,则列表中每个元素本身必须是一个合适的Tcl子列表。lsort将从每个子列表中
-index indexList提取第indexList个元素进行比较,而不是基于整个子列表进行排序。如果子列表中还包含子列表,则indexList还可以是索引
的列表,解析方式与lindex相同,并且支持string index。
Tcl8.6起,如果指定了此选项,则将列表中strideLength个元素视为一组,这些组按组中的第一个元素进行排序或者在使用-
-stride strideLengthindex选项时,按每组中-index指定的索引处的元素进行排序。元素在其组中始终保持相同的位置。要注意的是:列表长度必须
是strideLength的整数倍,并且最小为2。
-noca
-unique
比较时不区分大小写。与-dictionary、-integer、-real选项同时使用时无效。
如果指定了此选项,则只保留列表中找到的最后一组重复元素。是否重复取决于排序时使用的比较方法。
-dictionary
-integer
-real
-command cmds
-increasing
-decreasing
-indices
t list1 {aBc abc abb}
lsort $list1
lsort -noca $list1
lsort -dictionary $list1
lsort -indices $list1
lsort -indices -decreasing $list1
t list2 {{a 10} {b 1} {c 3}}
lsort -index 1 $list2
lsort -integer -index 1 $list1
t list3 {a 10 b 1 c 3}
lsort -stride 2 $list3
lsort -stride 2 -index 1 -integer $list3
lsort -noca $list1
t list4 {{a 1} {b 1} {c 3}}
lsort -unique $list4
lsort -unique -index 1 $list4
本文发布于:2023-12-09 21:21:26,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/zhishi/a/1702128087241125.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:Tcl列表排序命令之lsort.doc
本文 PDF 下载地址:Tcl列表排序命令之lsort.pdf
留言与评论(共有 0 条评论) |