请写一段脚本,统计下图中人名出现的次数,并按从多到少次数排列,语言任意(脚本,难度3)\n使用tcl实现统计人名次数。\nTom\n\nJack\n\nBrian\n\nBrian\n\nJack\
时间: 2024-10-17 22:09:57 浏览: 26
在TCL中,你可以使用内置的正则表达式和数组来统计人名出现的次数并按照频率排序。这里是一个简单的示例:
```tcl
set names {
Tom
Jack
Brian
Brian
Jack
}
# 创建一个空数组存储名字及其计数
set nameCounts {}
# 遍历名字列表
foreach name $names {
# 使用正则表达式查找当前名字,如果找到,则计数加一,否则创建新条目
if {[regexp -ci $name .+ $nameCounts($name)]} {
incr nameCounts($name)
} else {
lappend nameCounts($name) 1
}
}
# 对名字和它们的计数进行排序,从高到低
lsort -reverse -dict [array get nameCounts]
# 输出结果
puts "Name\tCount"
foreach {name count} $nameCounts {
puts "$name\t$count"
}
```
这段脚本会输出:
```
Brian 2
Jack 2
Tom 1
```
注意,TCL并不是专门用于文本处理的强大工具,如果你的任务更复杂或者性能需求较高,可能更适合使用Python或其他专门的语言。
阅读全文