鱼C论坛

 找回密码
 立即注册
查看: 1470|回复: 10

[已解决]新手求助

[复制链接]
发表于 2021-8-2 09:23:31 | 显示全部楼层 |阅读模式
3鱼币
如何查找嵌套列表中某个元素一共有几个?
最佳答案
2021-8-2 09:23:32
本帖最后由 大马强 于 2021-8-2 15:29 编辑
  1. def Count(l, ch):
  2.     count1 = 0 #用来统计出现次数
  3.     for i in l:
  4.         if isinstance(i, list):  # 判断是否为一个列表
  5.             count1 += Count(i, ch)  # 递归调用,
  6.         if i == ch:
  7.             count1 += 1
  8.     return count1 #返回次数


  9. l = [1, 2, 3, [3, 4, [3, 9]]]
  10. ch = input("请输入你要统计的元素是(整数):")
  11. ch = int(ch)
  12. count = Count(l, ch)

  13. print(count)
复制代码

试试这个

最佳答案

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-2 09:23:32 | 显示全部楼层    本楼为最佳答案   
本帖最后由 大马强 于 2021-8-2 15:29 编辑
  1. def Count(l, ch):
  2.     count1 = 0 #用来统计出现次数
  3.     for i in l:
  4.         if isinstance(i, list):  # 判断是否为一个列表
  5.             count1 += Count(i, ch)  # 递归调用,
  6.         if i == ch:
  7.             count1 += 1
  8.     return count1 #返回次数


  9. l = [1, 2, 3, [3, 4, [3, 9]]]
  10. ch = input("请输入你要统计的元素是(整数):")
  11. ch = int(ch)
  12. count = Count(l, ch)

  13. print(count)
复制代码

试试这个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-2 09:55:02 | 显示全部楼层
本帖最后由 myqf123 于 2021-8-2 09:56 编辑

a = [1,2,3,a,[4,5,6],b]
len(a[4])

你照着输入一遍,就会明白了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-2 09:56:51 | 显示全部楼层
a = [1,2,3,a,[4,5,6],b]
len(a[4])

你照着输入一遍,就会明白了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-2 11:18:37 | 显示全部楼层
>>>a=['a','s','w','e','a','a','a']
>>> a.count('a')
4
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-8-2 15:23:38 | 显示全部楼层
myqf123 发表于 2021-8-2 09:55
a = [1,2,3,a,[4,5,6],b]
len(a[4])

1.a,b要加引号,不然是个变量了2.我的意思是:比如[1,5,3,5,3,4,[2,4,5,5,6,3],2,5,3]这样一个列表中有几5,不是他的第六个元素中有几个元素
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-8-2 15:26:14 | 显示全部楼层

1~8行没看懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-2 15:29:04 | 显示全部楼层


递归那里学到了吗,我加了点注释你看看那里不知道
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-8-2 15:30:24 | 显示全部楼层
大马强 发表于 2021-8-2 15:29
递归那里学到了吗

没有。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-2 15:36:14 | 显示全部楼层
递归本质上就是自身调用自身,适用于有相同逻辑的地方
就比如我那个函数
第一步声明一个统计的变量
第二步判断是否该元素是否为列表也就是子表,如果是将这个元素作为参数再调用一次,重复1,2,3,4步
第三步判断是否目标元素,是的话统计变量加一
第四步退出这个函数,返回变量
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-3 10:03:28 | 显示全部楼层
peterpig 发表于 2021-8-2 15:23
1.a,b要加引号,不然是个变量了2.我的意思是:比如[1,5,3,5,3,4,[2,4,5,5,6,3],2,5,3]这样一个列表中有几 ...

大意了,我理解错了,初学,见谅
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-24 03:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表