计算化学公社

标题: tcl脚本中列表元素操作求助 [打印本页]

作者
Author:
xinyanli    时间: 2023-4-15 10:47
标题: tcl脚本中列表元素操作求助
请问各位老师,tcl脚本中我该如何将列表{1 2 3 4}依次变成
{1+100*1 2+100*1 3+100*1 4+100*1}
.....
{1+100*29 2+100*29 3+100*29 4+100*29}
呢?
我的思路如下,但是好像tcl中没法直接将整个列表所有元素同时加一个数:
set number {1 2 3 4 5}
for {set i 1} {$i <= 29} {incr i}{
    expr $number + 100 * i
}


作者
Author:
lyj714    时间: 2023-4-15 11:37
vecadd可以矢量相加,如果元素不多,可以如下:
  1. set number {1 2 3 4 5}
  2. for {set i 1} {$i <= 29} {incr i} {
  3.     set val [expr 100 * $i]
  4.     set new  [vecadd $number "$val $val $val $val $val"]
  5.     puts $new
  6. }
复制代码


如果元素不止5个,把后面那个用循环创建一个list就好了

作者
Author:
xinyanli    时间: 2023-4-15 14:17
lyj714 发表于 2023-4-15 11:37
vecadd可以矢量相加,如果元素不多,可以如下:

学到了,谢谢您!




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3