Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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_Search_Tcl - Fatal编程技术网

List 如何在不使用TCL中的循环的情况下检查列表中的所有元素是否为特定元素

List 如何在不使用TCL中的循环的情况下检查列表中的所有元素是否为特定元素,list,search,tcl,List,Search,Tcl,我有一个列表{Desg Desg Desg Desg Desg Desg Desg} 我想看看列表中除了这些元素之外还有没有其他元素。我也不想运行循环。类似lcontain的东西?使用expr{[lsearch…-非$list$pattern]>=0}使用expr{[lsearch…-非$list$pattern]>=0}为什么不想使用循环?这是我最后的选择。只是检查一下是否有像lsearch这样的东西可以达到目的。为什么不使用循环呢?这是我最后的选择。只是检查一下是否有像lsearch这样的东

我有一个列表{Desg Desg Desg Desg Desg Desg Desg}


我想看看列表中除了这些元素之外还有没有其他元素。我也不想运行循环。类似lcontain的东西?

使用
expr{[lsearch…-非$list$pattern]>=0}
使用
expr{[lsearch…-非$list$pattern]>=0}
为什么不想使用循环?这是我最后的选择。只是检查一下是否有像lsearch这样的东西可以达到目的。为什么不使用循环呢?这是我最后的选择。只是检查一下是否有像lsearch这样的东西可以达到目的……这是唯一明智的方法。(当然,它只是将循环提升到
lsearch
的C实现中,但这是正确的地方…@sudeep请注意,如果您是创建列表的人,可能有一种更快的方法来实现这一点,可能是使用数组、布尔变量或
if
/
开关
(如果您需要其他内容,您仍然可以保留该列表)。正如Donal所说,
lsearch
必须检查所有元素(除非您先对其排序,然后使用
lsearch-sorted
)@potrzebie,除非同时指定了
-all
lsearch
不会遍历所有元素,因为它会在第一次匹配时停止。但是搜索排序列表肯定会有所帮助,因为这会将算法转换为二进制搜索。这是唯一明智的方法。(当然,它只是将循环提升到
lsearch
的C实现中,但这是正确的地方…@sudeep请注意,如果您是创建列表的人,可能有一种更快的方法来实现这一点,可能是使用数组、布尔变量或
if
/
开关
(如果您需要其他内容,您仍然可以保留该列表)。正如Donal所说,
lsearch
必须检查所有元素(除非您先对其排序,然后使用
lsearch-sorted
)@potrzebie,除非同时指定了
-all
lsearch
不会遍历所有元素,因为它会在第一次匹配时停止。但是搜索排序列表肯定会有所帮助,因为这会将算法转换为二进制搜索。