我有两个包含一些数据(数字数据或/和字符串)的列表?
那么在假设列表不包含子列表的情况下,我应该如何加入这两个列表.
什么是首选,为什么?
set first [concat $first $second]
lappend first $second
append first " $second"
Don*_*ows 12
使用起来很好,concat在某些情况下甚至是高效的(它是8.4及之前的推荐技术,在以后的版本中也不算太差).但是,你的第二个选项lappend根本不起作用,并且版本append可以工作,但也会非常低效.
其他版本的将工作:
# Strongly recommended from 8.6.1 on
set first [list {*}$first {*}$second]
Run Code Online (Sandbox Code Playgroud)
lappend first {*}$second
Run Code Online (Sandbox Code Playgroud)
从8.6.1开始推荐其中第一个的原因是编译器能够将其优化为直接的"列表连接"操作.