You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何统计指定元素在嵌套列表中的出现列表数并输出正确结果?

解决方案

修改后的代码如下:

four_in_one = [['David','Ellen','Ken'],['Peter','Ellen','Joe'],['Palow','Ellen','Jack'],['Lily','Elain','Ken']]

for name in ['David','Ken','Kate']:
    i = 0  # 将计数器初始化移到外层循环,每个姓名单独统计
    for each_list in four_in_one:
        if name in each_list:
            i += 1
    print(name, i)  # 遍历完所有子列表后再打印结果

运行后输出:

David 1
Ken 2
Kate 0

原代码的问题:

  • 计数器i被放在内层循环(遍历子列表的循环)里,每次遍历新的子列表都会重置为0,无法累计计数
  • 找到姓名就立即打印,同一个姓名在多个子列表出现时会多次输出,且未统计到的姓名(如Kate)不会输出任何结果

优化说明:

  1. 将i = 0移到外层循环,确保每个待统计姓名的计数从0开始,独立累计
  2. 把print语句移到内层循环外面,遍历完所有子列表后再输出最终计数,保证每个姓名只输出一次统计结果

内容的提问来源于stack exchange,提问作者Mark K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 09:40:28