a = ['天然气', '垃圾分类'] b = [['稀土永磁'], ['风电', '稀土永磁']],像这样的用 len 函数也判断不出来。
|
1
len(list(filter(lambda x: isinstance(x, list), b)))
|
|
2
len([x for x in b if isinstance(x, list)])
|
|
lihongjie0209Sep 4, 2019
3
for 循环一个一个判断啊
|
|
4
常规来说统计多维嵌套列表中的个数应该用 递归拉平列表那个程序(网上很多自己百度)中加个计数器实现。
但是也有比较 hacker 一些的方法比如: >>> a = ['天然气', '垃圾分类'];b = [['稀土永磁'], ['风电', '稀土永磁']] >>> str(a).count('[') 1 >>> str(b).count('[') 3 >>> |
|
HopetreeSep 4, 2019
5
|
|
iamdaguduizhangSep 5, 2019
6
@xpresslink Good idea !!
|
|
sladeshaSep 5, 2019
8
def test(l):
ans = 0 def getListNumber(l): nonlocal ans for item in l: if isinstance(item, list): ans += 1 getListNumber(item) return ans return getListNumber(l) if __name__ == '__main__': List = [[1, 2, [3, [2], [1, 2]]]] print(test(List)) |
|
10
@xpresslink 神操作,谢谢。
|