Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List Tcl中两个列表的元素相乘_List_Tcl_Multiplication - Fatal编程技术网

List Tcl中两个列表的元素相乘

List Tcl中两个列表的元素相乘,list,tcl,multiplication,List,Tcl,Multiplication,我有两个长度相同的列表,我想将它们按元素相乘(就像集合中的笛卡尔积)。我该怎么做?例如,如果我写 set a {1 2 3 4 5} set b {1 2 3 4 5} ,则所需输出为: {1 4 9 16 25}两个列表lmap非常适合: set a {1 2 3 4 5} set b {1 2 3 4 5} set result [lmap x $a y $b {expr {$x * $y}}] 如果您使用的是Tcl 8.5(或更高版本),请使用以下选项: set a {1 2 3

我有两个长度相同的列表,我想将它们按元素相乘(就像集合中的笛卡尔积)。我该怎么做?例如,如果我写

set a {1 2 3 4 5} 
set b {1 2 3 4 5} 
,则所需输出为:
{1 4 9 16 25}

两个列表
lmap
非常适合:

set a {1 2 3 4 5}
set b {1 2 3 4 5}

set result [lmap x $a y $b {expr {$x * $y}}]
如果您使用的是Tcl 8.5(或更高版本),请使用以下选项:

set a {1 2 3 4 5}
set b {1 2 3 4 5}

set result {}
foreach x $a y $b {
    lappend result [expr {$x * $y}]
}
foreach
的多列表形式确实支持了很长时间