在TCL中比较两个列表的正确方法是什么?

Nar*_*rek 1 compare list tcl

我是TCL的新手,我写了以下代码:

set list1 {{1 2} 3 4}
set list2 {{1 2} 8 1}
if {[lindex $list1 0] == [lindex $list2 0]} { puts "They are equal!"}
Run Code Online (Sandbox Code Playgroud)

但是当我打印子列表元素时,我发现它们是相同的,但是if语句没有捕获它.为什么?我应该如何对比这个比较?

sch*_*enk 6

我会做:

# from tcllib
package require struct::list


if {[::struct::list equal $list1 $list2]} { puts "Lists are equal"}
Run Code Online (Sandbox Code Playgroud)