Python中如何统计嵌套列表中每个子列表的元素个数?
解决Python嵌套列表子元素数量统计问题
嘿,这事儿在Python里有好几种简单直接的实现方式,我给你整理几个常用的方案:
1. 列表推导式(最简洁的Pythonic写法)
这是最推荐的方式,一行代码就能搞定,可读性还强:
original_list = [['s', 'a', 'b', 't'], ['s', 'c', 'd', 't'], ['s', 'c', 'e', 't','g']] counts = [len(sublist) for sublist in original_list] print(counts) # 输出: [4, 4, 5]
原理很简单:用len()函数获取每个子列表的元素个数,通过列表推导式遍历原嵌套列表的每一个子列表,把得到的长度值收集成新的列表。
2. 普通for循环(适合新手理解逻辑)
如果刚接触Python,用循环一步步写能更清楚看到整个过程:
original_list = [['s', 'a', 'b', 't'], ['s', 'c', 'd', 't'], ['s', 'c', 'e', 't','g']] counts = [] for sublist in original_list: # 计算当前子列表的长度,添加到结果列表里 counts.append(len(sublist)) print(counts) # 输出: [4, 4, 5]
3. 使用map函数
map()函数可以把指定的函数(这里是len())批量应用到可迭代对象的每个元素上,最后转成列表就能得到结果:
original_list = [['s', 'a', 'b', 't'], ['s', 'c', 'd', 't'], ['s', 'c', 'e', 't','g']] counts = list(map(len, original_list)) print(counts) # 输出: [4, 4, 5]
这三种方法都能完美得到你想要的[4,4,5],选哪个看你自己的习惯和代码场景啦~
内容的提问来源于stack exchange,提问作者George Karavas
相关产品推荐
相关产品推荐

