peterpig 发表于 2021-8-2 09:23:31

新手求助

如何查找嵌套列表中某个元素一共有几个?

大马强 发表于 2021-8-2 09:23:32

本帖最后由 大马强 于 2021-8-2 15:29 编辑

def Count(l, ch):
    count1 = 0 #用来统计出现次数
    for i in l:
      if isinstance(i, list):# 判断是否为一个列表
            count1 += Count(i, ch)# 递归调用,
      if i == ch:
            count1 += 1
    return count1 #返回次数


l = ]]
ch = input("请输入你要统计的元素是(整数):")
ch = int(ch)
count = Count(l, ch)

print(count)

试试这个

myqf123 发表于 2021-8-2 09:55:02

本帖最后由 myqf123 于 2021-8-2 09:56 编辑

a = ,b]
len(a)

你照着输入一遍,就会明白了

myqf123 发表于 2021-8-2 09:56:51

a = ,b]
len(a)

你照着输入一遍,就会明白了

1064337728 发表于 2021-8-2 11:18:37

>>>a=['a','s','w','e','a','a','a']
>>> a.count('a')
4

peterpig 发表于 2021-8-2 15:23:38

myqf123 发表于 2021-8-2 09:55
a = ,b]
len(a)



1.a,b要加引号,不然是个变量了2.我的意思是:比如,2,5,3]这样一个列表中有几5,不是他的第六个元素中有几个元素

peterpig 发表于 2021-8-2 15:26:14

大马强 发表于 2021-8-2 10:15
试试这个

1~8行没看懂

大马强 发表于 2021-8-2 15:29:04

peterpig 发表于 2021-8-2 15:26
1~8行没看懂

递归那里学到了吗,我加了点注释你看看那里不知道

peterpig 发表于 2021-8-2 15:30:24

大马强 发表于 2021-8-2 15:29
递归那里学到了吗

没有。

大马强 发表于 2021-8-2 15:36:14

递归本质上就是自身调用自身,适用于有相同逻辑的地方
就比如我那个函数
第一步声明一个统计的变量
第二步判断是否该元素是否为列表也就是子表,如果是将这个元素作为参数再调用一次,重复1,2,3,4步
第三步判断是否目标元素,是的话统计变量加一
第四步退出这个函数,返回变量

myqf123 发表于 2021-8-3 10:03:28

peterpig 发表于 2021-8-2 15:23
1.a,b要加引号,不然是个变量了2.我的意思是:比如,2,5,3]这样一个列表中有几 ...

大意了,我理解错了,初学,见谅
页: [1]
查看完整版本: 新手求助