如何统计Tkinter Listbox中末尾文本相同的条目数量
Tkinter Listbox 末尾相同文本条目统计实现方案
你提供的测试代码存在基础错误:直接调用Listbox类的insert方法而非实例对象的方法,修正后可按以下逻辑实现统计:
- 先通过Listbox实例的
get(0, END)方法获取所有条目 - 遍历所有条目,按逗号分割提取末尾片段作为统计标识
- 用字典计数即可得到每个末尾文本对应的条目数量
完整可运行代码如下:
from tkinter import * root = Tk() # 实例化Listbox并保存引用 lb = Listbox(root) lb.pack() # 插入测试数据 lb.insert(END, 'a,1', 'b,1', 'c,1', 'd,2', 'e,2', 'f,3') def count_same_suffix(): # 获取所有条目 items = lb.get(0, END) count_dict = {} for item in items: # 按逗号分割取最后一段作为后缀 suffix = item.split(',')[-1] # 计数累加 count_dict[suffix] = count_dict.get(suffix, 0) + 1 # 输出统计结果,可根据需要替换为弹窗、写入控件等逻辑 print("各末尾文本对应条目数:", count_dict) # 添加按钮触发统计,也可根据需要在其他时机调用统计函数 Button(root, text="统计末尾相同条目数", command=count_same_suffix).pack() root.mainloop()
运行后点击统计按钮,控制台会输出示例数据的统计结果:各末尾文本对应条目数: {'1': 3, '2': 2, '3': 1},匹配需求场景。如果你的条目分隔符不是逗号,修改split(',')内的分隔符即可。
内容的提问来源于stack exchange,提问作者Leeyep
相关产品推荐
相关产品推荐

