list - 如何从 Tcl 中的列表中获取值(value)?

标签 list tcl

我在 Tcl 中有一个列表:

set list1 {0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9}

那么如何根据列表的索引获取元素呢?例如:

我想得到这个列表的第二个元素?还是这个列表的第六个?

最佳答案

只使用拆分和循环?

foreach n [split $list1 ","] {
    puts [string trim $n]  ;# Trim to remove the extra space after the comma
}
[split $list1 ","] 返回一个包含 0x1 { 0x2} { 0x3} { 0x4} { 0x5} { 0x6} { 0x7} { 0x8} { 0x9} 的列表
foreach 循环遍历列表的每个元素并将当前元素分配给 $n
[string trim $n] 然后删除尾随空格(如果有)并 puts 打印结果。

编辑:

要获取列表的第 n 个元素,请使用 lindex 函数:
% puts [lindex $list1 1]
0x2
% puts [lindex $list1 5]
0x6

该索引是基于 0 的,因此您必须从需要从列表中提取的索引中删除 1。

关于list - 如何从 Tcl 中的列表中获取值(value)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19136611/

相关文章:

python - Python 列表的线性合并

tcl - upvar 的作用是什么?

c - 执行 "shimmering"的 Tcl 字符串函数破坏了我在 c 中定义的自定义 tcl 类型

namespaces - Tcl:获取命名空间下定义的所有变量

ios - 在列表中找到 X 和 Y 的 4 个最接近的位置

用于 2 个列表字符串格式的 Python 3 单线?

java - 我的 Java 列表显示为空,实例化它似乎不起作用...帮助?

python - Selenium:模拟人类打字行为

c - TCL 和 C 中的读/写 FIFO,垃圾输出

sorting - tcl 有部分排序命令吗?