计算化学公社

 找回密码 Forget password
 注册 Register
Views: 679|回复 Reply: 2
打印 Print 上一主题 Last thread 下一主题 Next thread

[综合交流] tcl脚本中列表元素操作求助

[复制链接 Copy URL]

43

帖子

0

威望

829

eV
积分
872

Level 4 (黑子)

跳转到指定楼层 Go to specific reply
楼主
请问各位老师,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
}

306

帖子

2

威望

3262

eV
积分
3608

Level 5 (御坂)

2#
发表于 Post on 2023-4-15 11:37:14 | 只看该作者 Only view this author
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就好了

43

帖子

0

威望

829

eV
积分
872

Level 4 (黑子)

3#
 楼主 Author| 发表于 Post on 2023-4-15 14:17:12 | 只看该作者 Only view this author
lyj714 发表于 2023-4-15 11:37
vecadd可以矢量相加,如果元素不多,可以如下:

学到了,谢谢您!

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2024-11-27 10:33 , Processed in 1.244168 second(s), 21 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list