简介:许多朋友询问了在Python上嵌套了多少层的Python。本文的首席CTO笔记开始为您的参考做出详细的答案。我希望这对每个人都会有所帮助!让我们一起看看!
也没有双层层。单层也可以。双层适合包装。装饰要学习。它实际上是在实际使用中使用的。大多数时间都在使用其他时。由于装饰设备是不透明的,效率不是很高,在实际应用中没有太多用途。WEB开发更多。
我写了这个功能,您能在测试下看到正确的结果吗?
m = [[1,2],3,4],[1,2,3,4],[1,2],3],4]]
def depth_list(项目,d):
如果IsInstance(item,int):
返回d
别的:
D += 1
返回max(depth_list(i,d)for In In intem)
打印(depth_list(m,-1)))
#请参阅代码,代码是没有格式的,根据图表键的图片,图片是核心部分
simple_dict = {
'groun_dict':{'midder_dict1':{'small_dict1':1,
'small_dict2':2},
'midder_dict2':{'small_dict3':3,
'small_dict4':4,
'small_dict5':{'small_dict10':1,
'small_dict22':3},
},,
}
}
#Requirement分析:从嵌套词典中找到一个值3的路径关系
#simplified模型:从3的值到上部的值,递归过程保留了当前路径和当前层
#1。字典中发现了多少层:
计数= 0
路径=''#set设置路径的全局变量
结果= [] #record结论
def get_count(dict_test):
全局计数#声明每个递归是一个全局变量
全局路径#串起时间表,您的路径
全局结果#记录结果
因为我在dict_teest中:
如果type(dict_test [i]).__名称__ =='dict':
#如果这是一本词典,则继续向下扩展,即递归:
如果count == 0:#ADD判断以消除第一个出现的逻辑问题
路径=路径+i
别的:
路径=路径+' - '+i
计数+= 1#记录层编号
get_count(dict_test [i])
别的:
尝试:
#如果它不是字典,它是一个钥匙值对,检查值值是否为3,当前i包含两个内容,一个是键,另一个是值
如果dict_test [i] == 3:
#值= 3的值
result.append(f“路径为:%s,在%d层上”%(路径+' - '+i,count))
除了表现出色之外:#尽管字典仅限于写作,但使用尝试说明以增加鲁棒性的位置以避免类型错误
打印(结果)
继续
如果__name__ =='__ main __':
get_count(simple_dict)#execute递归功能
[print(str(i+1)+':'+j)i,j in Enumerate(结果)]#打印结果
'''
结果:
1:路径是:大_dict-middle_dict1-midder_dict2-small_dict3,在第三层
2:路径是:大_dict-middle_dict1-middle_dict2-small_dict5-small_dict22,在第四层
'''
理论上没有限制,但通常不超过3-5层,否则它将太复杂。
对于字典,dict ['第一层键'] ['第二层键'] ...后者是字典的i -ley键,类似于第一个级别的目录。
因此,dict ['b'] ['d'] = 4是指字典dict的第一层的值称为“ b”。下面的第二层是“ D”的值。
结论:以上是首席CTO的全部内容指出,每个人都可以嵌套多少层python。感谢您阅读本网站的内容。我希望这对您有帮助。有关可以嵌套多少层的python的更多信息。不要忘记在此站点上找到它。